CMS Sitebill Wiki wiki https://wiki.sitebill.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0 MediaWiki 1.34.1 first-letter Медиа Служебная Обсуждение Участник Обсуждение участника CMS Sitebill Wiki Обсуждение CMS Sitebill Wiki Файл Обсуждение файла MediaWiki Обсуждение MediaWiki Шаблон Обсуждение шаблона Справка Обсуждение справки Категория Обсуждение категории Заглавная страница 0 1 1 2013-06-10T08:22:09Z MediaWiki default 0 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] 831a2435239ba0f176177365c3a9abcdda79a91e 2 1 2013-06-10T08:30:08Z Kondin 1 /* Некоторые полезные ресурсы */ wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Параметры приложения apps.mlsparser]] == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] 8d5b66e70fbd1426c911ea406825c5c6783ae64b 18 2 2013-06-21T07:13:53Z Abushyk 2 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Параметры приложения apps.mlsparser]] [[Парсинг_КЛАДР|Парсинг КЛАДР]] == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] 1ec0c5e5abdb0cd48a8206a5138cf6e025def65f 19 18 2013-06-21T07:14:35Z Abushyk 2 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Параметры приложения apps.mlsparser]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] 8ed49b79fffc87e3aeb2a9ea8cebcb85c5789abe 20 19 2013-06-21T07:14:53Z Abushyk 2 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] a6cda71e7b571c27f943580d6904be98d08c7198 21 20 2013-06-21T07:17:11Z Abushyk 2 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] 804b0fbc08c4a1899c60c0416d6804bc1bc6383b 28 21 2013-06-21T08:24:40Z Abushyk 2 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Приложения]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] 04e9206062efab015b05ed7348032a5737a38dcd 30 28 2013-06-21T08:25:34Z Abushyk 2 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Приложения]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] e6bb511fb7041217c4a67109ca775b5d74d883ae 31 30 2013-06-21T08:25:43Z Abushyk 2 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Приложения]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] aa18f384274d72551ca655ff0f92ed12ef907a6c Параметры приложения apps.mlsparser 0 2 3 2013-06-10T10:05:36Z Abushyk 2 Новая страница: «===== apps.yandexrealty_parser.default_activity_status ===== Статус активности для добавляемых записей. В случае, ес…» wikitext text/x-wiki ===== apps.yandexrealty_parser.default_activity_status ===== Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии Наследуется MLS Parser ===== apps.yandexrealty_parser.default_user_id ===== ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. ===== apps.yandexrealty_parser.allow_create_new_category ===== Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра apps.yandexrealty_parser.category_for_all Наследуется MLS Parser ===== apps.yandexrealty_parser.category_for_all ===== Если параметр apps.yandexrealty_parser.allow_create_new_category не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. Наследуется MLS Parser ===== apps.mlsparser.default_user_id ===== Наследует параметр apps.yandexrealty_parser.default_user_id. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. ===== apps.mlsparser.parser_root ===== Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга 09a9ce69e8667a899e2855e9d6c30dc65be869e8 4 3 2013-06-10T10:06:14Z Abushyk 2 wikitext text/x-wiki ===== apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей ===== Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии Наследуется MLS Parser ===== apps.yandexrealty_parser.default_user_id ===== ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. ===== apps.yandexrealty_parser.allow_create_new_category ===== Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра apps.yandexrealty_parser.category_for_all Наследуется MLS Parser ===== apps.yandexrealty_parser.category_for_all ===== Если параметр apps.yandexrealty_parser.allow_create_new_category не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. Наследуется MLS Parser ===== apps.mlsparser.default_user_id ===== Наследует параметр apps.yandexrealty_parser.default_user_id. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. ===== apps.mlsparser.parser_root ===== Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга 97934ccc65443606aa36342c13828053e887ddd1 5 4 2013-06-10T10:09:15Z Abushyk 2 wikitext text/x-wiki ==== Нативные параметры apps.mlsparser ==== ===== apps.mlsparser.default_user_id ===== Наследует параметр apps.yandexrealty_parser.default_user_id. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. ===== apps.mlsparser.parser_root ===== Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга ===== apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей ===== Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии Наследуется MLS Parser ==== Параметры наследуемые от apps.yandexrealty_parser ==== ===== apps.yandexrealty_parser.default_user_id ===== ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. ===== apps.yandexrealty_parser.allow_create_new_category ===== Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра apps.yandexrealty_parser.category_for_all Наследуется MLS Parser ===== apps.yandexrealty_parser.category_for_all ===== Если параметр apps.yandexrealty_parser.allow_create_new_category не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. Наследуется MLS Parser 9a39f561cd6513f333029d65962cb399e419d176 6 5 2013-06-10T10:09:41Z Abushyk 2 wikitext text/x-wiki ==== Нативные параметры apps.mlsparser ==== ===== apps.mlsparser.default_user_id ===== Наследует параметр apps.yandexrealty_parser.default_user_id. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. ===== apps.mlsparser.parser_root ===== Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга ==== Параметры наследуемые от apps.yandexrealty_parser ==== ===== apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей ===== Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии Наследуется MLS Parser ===== apps.yandexrealty_parser.default_user_id ===== ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. ===== apps.yandexrealty_parser.allow_create_new_category ===== Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра apps.yandexrealty_parser.category_for_all Наследуется MLS Parser ===== apps.yandexrealty_parser.category_for_all ===== Если параметр apps.yandexrealty_parser.allow_create_new_category не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. Наследуется MLS Parser 8163ca9b3b1bec03543f29ec42f58a494f210112 7 6 2013-06-10T10:11:38Z Abushyk 2 wikitext text/x-wiki ==== Нативные параметры apps.mlsparser ==== ===== apps.mlsparser.default_user_id - Пользователь по умолчанию ===== Наследует параметр apps.yandexrealty_parser.default_user_id. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. ===== apps.mlsparser.parser_root - Папка для загрузки файлов ===== Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга ==== Параметры наследуемые от apps.yandexrealty_parser ==== ===== apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей ===== Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии Наследуется MLS Parser ===== apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию ===== ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. ===== apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий ===== Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра apps.yandexrealty_parser.category_for_all Наследуется MLS Parser ===== apps.yandexrealty_parser.category_for_all - Категория по умолчанию ===== Если параметр apps.yandexrealty_parser.allow_create_new_category не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. Наследуется MLS Parser 7b7f9d2757c73707ef4cc9edd4d9e3b64026f379 8 7 2013-06-10T12:49:07Z Abushyk 2 wikitext text/x-wiki ==== Нативные параметры apps.mlsparser ==== ===== apps.mlsparser.default_user_id - Пользователь по умолчанию ===== Наследует параметр apps.yandexrealty_parser.default_user_id. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. ===== apps.mlsparser.parser_root - Папка для загрузки файлов ===== Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга ==== Параметры наследуемые от apps.yandexrealty_parser ==== ===== apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей ===== Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию ===== ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. ===== apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий ===== Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра apps.yandexrealty_parser.category_for_all Наследуется MLS Parser ===== apps.yandexrealty_parser.category_for_all - Категория по умолчанию ===== Если параметр apps.yandexrealty_parser.allow_create_new_category не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. Наследуется MLS Parser b91ec76ff26bb11be61ae8c930f0a7e67cb328ad 9 8 2013-06-10T12:51:15Z Abushyk 2 wikitext text/x-wiki ==== Нативные параметры apps.mlsparser ==== ===== apps.mlsparser.default_user_id - Пользователь по умолчанию ===== Наследует параметр apps.yandexrealty_parser.default_user_id. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. ===== apps.mlsparser.parser_root - Папка для загрузки файлов ===== Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга ==== Параметры наследуемые от apps.yandexrealty_parser ==== ===== apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей ===== Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию ===== ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром apps.mlsparser.default_user_id MLS Parser'' ===== apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий ===== Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра apps.yandexrealty_parser.category_for_all <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.category_for_all - Категория по умолчанию ===== Если параметр apps.yandexrealty_parser.allow_create_new_category не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' ca8bf706f1af5e77b55a93d944f01d268c4e3ea4 10 9 2013-06-10T12:53:19Z Abushyk 2 wikitext text/x-wiki ==== Нативные параметры apps.mlsparser ==== ===== apps.mlsparser.default_user_id - Пользователь по умолчанию ===== Наследует параметр '''apps.yandexrealty_parser.default_user_id'''. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. ===== apps.mlsparser.parser_root - Папка для загрузки файлов ===== Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга ==== Параметры наследуемые от apps.yandexrealty_parser ==== ===== apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей ===== Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию ===== ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром apps.mlsparser.default_user_id MLS Parser'' ===== apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий ===== Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.category_for_all - Категория по умолчанию ===== Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' d2b660bfe3f0a0aad86f02867c94dd8ba9182977 11 10 2013-06-10T12:57:21Z Abushyk 2 wikitext text/x-wiki ==== Нативные параметры apps.mlsparser ==== ===== apps.mlsparser.default_user_id - Пользователь по умолчанию ===== :''Тип: число'' Наследует параметр '''apps.yandexrealty_parser.default_user_id'''. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. ===== apps.mlsparser.parser_root - Папка для загрузки файлов ===== :''Тип: строка'' Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга ==== Параметры наследуемые от apps.yandexrealty_parser ==== ===== apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей ===== :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию ===== :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром apps.mlsparser.default_user_id MLS Parser'' ===== apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий ===== :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.category_for_all - Категория по умолчанию ===== :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' 575845ae83fc584be3155ba5ccb148e53a399bf0 12 11 2013-06-10T12:58:06Z Abushyk 2 wikitext text/x-wiki ==== Нативные параметры apps.mlsparser ==== ===== apps.mlsparser.default_user_id - Пользователь по умолчанию ===== :''Тип: число'' Наследует параметр '''apps.yandexrealty_parser.default_user_id'''. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. ===== apps.mlsparser.parser_root - Папка для загрузки файлов ===== :''Тип: строка'' Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга ==== Параметры наследуемые от apps.yandexrealty_parser ==== ===== apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей ===== :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию ===== :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' ===== apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий ===== :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.category_for_all - Категория по умолчанию ===== :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' 068623e27f9ec0b1cd057e4574c3c99d8ab467fc Приложение "Управление кешем" 0 3 13 2013-06-13T16:17:34Z Abushyk 2 Новая страница: «== Приложение "Управление кешем" == Приложение "Управление кешем" служит для управления ке…» wikitext text/x-wiki == Приложение "Управление кешем" == Приложение "Управление кешем" служит для управления кеширования данных, не шаблонов. Если структура сайта статична и сформирована в этом случае имеет смысл включить это приложение. В процессе создания, первичной настройки или редактирования структуры сайта - категорий (топиков) настоятельно рекомендуется отключать это приложение и очищать его хранилище, во избежании недоразумений. Если структура вашего сайта достаточно динамична - регулярно претерпевают изменения пункты разделов или они добавляются/удаляют в процессе работы сайта (как при некоторых режимах парсеров) - кеш должен быть отключен. 066e482f51b254e0022a70fecd09d1ca09774ca2 Db.inc.php 0 4 14 2013-06-13T19:42:46Z Abushyk 2 Новая страница: «== Db.inc.php == Файл базовых настроек. Содержит следующие параметры '''$__user''' - имя пользовател…» wikitext text/x-wiki == Db.inc.php == Файл базовых настроек. Содержит следующие параметры '''$__user''' - имя пользователя БД '''$__password''' - пароль доступа к БД '''$__db''' - имя БД '''$__db_prefix''' = 're'; - префикс таблиц в БД Этот набор параметров необходим для функционирования модуля доступа к БД, который использется в коде через наследуемый объект $this->db Для доступа к БД с помощью модуля, DBC, который доступен с помощью вызова DBC::getInstance() добавляются следующие параметры: '''define('DB_ENCODING','cp1251');''' - кодировка БД '''define('LOG_ENABLED', false);''' - подключение класса-логгера. При отсутствии этого параметра логгер не будет подключен. '''define('DEBUG_ENABLED', false);''' - подключение класса-отладчика для модуля DBC. При отсутствии этого параметра отладчик не будет подключен. '''define('LOGGER_FILE', $_SERVER['DOCUMENT_ROOT'].'/log_000.txt');''' - расположение файла записи логов. Если этот параметр отсутствует, по умолчанию будет использовано значение как в примере. af132a2f9f2c0deb86b3e123e1f0b51bfd463695 Парсинг КЛАДР 0 5 15 2013-06-20T17:23:09Z Abushyk 2 Новая страница: «Работа с файлами базы данных КЛАДР состоит из двух этапов.<br /> 1. Получение данных из файл…» wikitext text/x-wiki Работа с файлами базы данных КЛАДР состоит из двух этапов.<br /> 1. Получение данных из файлов dbf<br /> 2. Обработка полученных данных<br /> ==== 1. Получение данных из файлов dbf ==== Скрипт kladrexporter.php (php с поддержкой dbase)<br /> Скрипт ожидает, что рядом с ним в папку BASE находится файл KLADR.dbf. Скрипт построчно извлекает записи и из них формирует файл KLADR_export.txt в формате csv файла, где каждая строка представлена в виде<br /> '''название_территориальной единицы;сокращение_типа_единицы;код_единицы'''<br /> например<br /> '''Адыгея;Респ;01000000000'''<br /> Скрипт streetexporter.php (php с поддержкой dbase)<br /> Скрипт ожидает, что рядом с ним в папку BASE находится файл STREET.dbf. Скрипт построчно извлекает записи и из них формирует файл STREET_export.txt в формате csv файла, где каждая строка представлена в виде<br /> '''название_объекта_географии;сокращение_типа_объекта_географии;код_административной_единицы_содержащей_объект;код_объекта'''<br /> например<br /> '''Абадзехская;ул;01000001000;0001'''<br /> код_административной_единицы_содержащей_объект из файла STREET_export.txt соответствует код_единицы из KLADR_export.txt Соответственно, зная код КЛАДР для административной единицы, мы можем получить список улиц для него. Данный поиск имеет смысля для городов. Если требуется получить список улиц например республики Адыгея, необходимо собрать списки улиц всех входящих объекто, которые ими располагают.<br /> Результирующие csv файлы весьма громоздки.<br /> ==== 2. Обработка полученных данных ==== Для излечения списка улиц для конкретного города используется файл streetextractor.php (php 5.3 точно, на меньших версиях не проверялось. Поддержка dbase не требуется).<br /> Скрипт ожидает на входе переменную k со значение кода КЛАДР города, по которому отбирает и формирует список улиц.<br /> Например, запросив streetextractor.php?k=24000001000 (улицы Красноярска), мы получим в ответ массив<br /> Array :( :[24000001000] => Array :( :[0001] => Array :( :[name] => 1905 года :[socr] => ул :) :[0002] => Array :( :[name] => Днепропетровская 2-я :[socr] => ул :) ..... <br /> Файл streetextractor.php ожидает, что файл STREET_export.txt находится рядом с ним. d303af7aebe2288aa6e3a2a4623b94aa444553d8 16 15 2013-06-20T17:25:01Z Abushyk 2 wikitext text/x-wiki Работа с файлами базы данных КЛАДР состоит из двух этапов.<br /> 1. Получение данных из файлов dbf<br /> 2. Обработка полученных данных<br /> ==== 1. Получение данных из файлов dbf ==== Скрипт kladrexporter.php (php с поддержкой dbase)<br /> Скрипт ожидает, что рядом с ним в папку BASE находится файл KLADR.dbf. Скрипт построчно извлекает записи и из них формирует файл KLADR_export.txt в формате csv файла, где каждая строка представлена в виде<br /> '''название_территориальной единицы;сокращение_типа_единицы;код_единицы'''<br /> например<br /> '''Адыгея;Респ;01000000000'''<br /> Скрипт streetexporter.php (php с поддержкой dbase)<br /> Скрипт ожидает, что рядом с ним в папку BASE находится файл STREET.dbf. Скрипт построчно извлекает записи и из них формирует файл STREET_export.txt в формате csv файла, где каждая строка представлена в виде<br /> '''название_объекта_географии;сокращение_типа_объекта_географии;код_административной_единицы_содержащей_объект;код_объекта'''<br /> например<br /> '''Абадзехская;ул;01000001000;0001'''<br /> код_административной_единицы_содержащей_объект из файла STREET_export.txt соответствует код_единицы из KLADR_export.txt Соответственно, зная код КЛАДР для административной единицы, мы можем получить список улиц для него. Данный поиск имеет смысля для городов. Если требуется получить список улиц например республики Адыгея, необходимо собрать списки улиц всех входящих объекто, которые ими располагают.<br /> Результирующие csv файлы весьма громоздки.<br /> ==== 2. Обработка полученных данных ==== Для излечения списка улиц для конкретного города используется файл streetextractor.php (php 5.3 точно, на меньших версиях не проверялось. Поддержка dbase не требуется).<br /> Скрипт ожидает на входе переменную k со значение кода КЛАДР города, по которому отбирает и формирует список улиц.<br /> Например, запросив streetextractor.php?k=24000001000 (улицы Красноярска), мы получим в ответ массив<br /> Array :( :[24000001000] => Array :( :[0001] => Array :( :[name] => 1905 года :[socr] => ул :) :[0002] => Array :( :[name] => Днепропетровская 2-я :[socr] => ул :) ..... <br /> Файл streetextractor.php ожидает, что файл STREET_export.txt находится рядом с ним. [[Файл:Script.php|мини]] 7e1643838228c9bfe5965322f1502472635ac1c9 17 16 2013-06-20T17:37:45Z Abushyk 2 wikitext text/x-wiki Работа с файлами базы данных КЛАДР состоит из двух этапов.<br /> 1. Получение данных из файлов dbf<br /> 2. Обработка полученных данных<br /> ==== 1. Получение данных из файлов dbf ==== Скрипт kladrexporter.php (php с поддержкой dbase)<br /> Скрипт ожидает, что рядом с ним в папку BASE находится файл KLADR.dbf. Скрипт построчно извлекает записи и из них формирует файл KLADR_export.txt в формате csv файла, где каждая строка представлена в виде<br /> '''название_территориальной единицы;сокращение_типа_единицы;код_единицы'''<br /> например<br /> '''Адыгея;Респ;01000000000'''<br /> Скрипт streetexporter.php (php с поддержкой dbase)<br /> Скрипт ожидает, что рядом с ним в папку BASE находится файл STREET.dbf. Скрипт построчно извлекает записи и из них формирует файл STREET_export.txt в формате csv файла, где каждая строка представлена в виде<br /> '''название_объекта_географии;сокращение_типа_объекта_географии;код_административной_единицы_содержащей_объект;код_объекта'''<br /> например<br /> '''Абадзехская;ул;01000001000;0001'''<br /> код_административной_единицы_содержащей_объект из файла STREET_export.txt соответствует код_единицы из KLADR_export.txt Соответственно, зная код КЛАДР для административной единицы, мы можем получить список улиц для него. Данный поиск имеет смысля для городов. Если требуется получить список улиц например республики Адыгея, необходимо собрать списки улиц всех входящих объекто, которые ими располагают.<br /> Результирующие csv файлы весьма громоздки.<br /> ==== 2. Обработка полученных данных ==== Для излечения списка улиц для конкретного города используется файл streetextractor.php (php 5.3 точно, на меньших версиях не проверялось. Поддержка dbase не требуется).<br /> Скрипт ожидает на входе переменную k со значение кода КЛАДР города, по которому отбирает и формирует список улиц.<br /> Например, запросив streetextractor.php?k=24000001000 (улицы Красноярска), мы получим в ответ массив<br /> Array :( :[24000001000] => Array :( :[0001] => Array :( :[name] => 1905 года :[socr] => ул :) :[0002] => Array :( :[name] => Днепропетровская 2-я :[socr] => ул :) ..... <br /> Файл streetextractor.php ожидает, что файл STREET_export.txt находится рядом с ним.<br /> [http://my.digitalwerkstatt.ru/kladr/kladrexporter.php.dist kladrexporter.php]<br /> [http://my.digitalwerkstatt.ru/kladr/streetexporter.php.dist streetexporter.php]<br /> [http://my.digitalwerkstatt.ru/kladr/streetextractor.php.dist streetextractor.php]<br /> [http://my.digitalwerkstatt.ru/kladr/kladr.rar Готовый, приведенный к формату xml, иерархически структурированный список административных единиц КЛАДР] 8d202008bcb093c67a503500de3ed8e1b6e091df Приложения 0 6 22 2013-06-21T07:18:06Z Abushyk 2 Новая страница: «== Приложения == Здесь будет инфа о приложениях» wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях fec544e5ad787a4acdf4b401c9269c34cd4a3749 24 22 2013-06-21T07:48:23Z Abushyk 2 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_Выгрузка_ЦИАН|Приложение Выгрузка ЦИАН]] ab8755dc46ba95ac0de71688d3357883df488b34 33 24 2013-06-21T08:29:31Z Abushyk 2 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_Выгрузка_ЦИАН|Приложение Выгрузка ЦИАН]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]] 3f0b5192d08717563b89636e85ebfe6b635b3aa7 36 33 2013-06-21T08:36:46Z Abushyk 2 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]] e8bc5e599fbebcce621160faedd324685a6cf5e1 41 36 2013-06-21T09:03:40Z Abushyk 2 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер_формата MLS"]] a61739ffe896614703ba794febfdd0125c8ca2f5 42 41 2013-06-21T09:04:01Z Abushyk 2 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер формата MLS"]] 0b0d2e3d225e580fa673915817de7b432d7c6ecc Приложение "Выгрузка ЦИАН" 0 7 23 2013-06-21T07:47:21Z Abushyk 2 Новая страница: «Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/» wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/ 5d0436e36b47b5bcc2c8009472a17cae1ba19835 25 23 2013-06-21T08:06:35Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/ === Требования === Приложение требует дополнения модели дополнительными полями. === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления с неуказанной ценой или ценой раной нулю с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php если удалось определить название региона и оно является "Москва" или "СПБ" 58caf96a06709cb0b31000968d137c7d61e05b81 26 25 2013-06-21T08:12:28Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/ === Требования === Приложение требует дополнения модели дополнительными полями. === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой раной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. c383765e73b8dbb4a84a4542fc4f063df63f2130 27 26 2013-06-21T08:19:30Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/ === Требования === Приложение требует дополнения модели дополнительными полями. === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой раной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров... 19eee0d9ddaa722298d82cb32268feb42acae81f 32 27 2013-06-21T08:27:09Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/ === Требования === Приложение требует дополнения модели дополнительными полями. === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой раной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. e3d34f932997a50a26cf5de4a29d45469febe3f4 34 32 2013-06-21T08:36:03Z Abushyk 2 Abushyk переименовал страницу [[Приложение Выгрузка ЦИАН]] в [[Приложение "Выгрузка ЦИАН"]] wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/ === Требования === Приложение требует дополнения модели дополнительными полями. === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой раной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. e3d34f932997a50a26cf5de4a29d45469febe3f4 37 34 2013-06-21T08:59:22Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями. === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой раной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" 380ff9a9465d0c0dc42549efd62b58240644a19a 38 37 2013-06-21T09:00:06Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой раной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" c169ed40bfb6e27a9d3c62f59286d662bdef61dd 39 38 2013-06-21T09:01:37Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" 99745c7e262c53ae1e4125dee9ead139c5c54798 Шаблон 0 8 29 2013-06-21T08:25:18Z Abushyk 2 Новая страница: «Описание типичных файлов шаблона» wikitext text/x-wiki Описание типичных файлов шаблона 0ce3a5f0bbd0f64a7f6d28fd5771bfb4c46217a4 45 29 2013-06-25T17:45:02Z Abushyk 2 wikitext text/x-wiki Описание типичных файлов шаблона [[Шаблон_agency|Шаблон agency]] b21c3e60695d7d290bf0314d684e3b45281f3b0d Приложение Выгрузка ЦИАН 0 9 35 2013-06-21T08:36:03Z Abushyk 2 Abushyk переименовал страницу [[Приложение Выгрузка ЦИАН]] в [[Приложение "Выгрузка ЦИАН"]] wikitext text/x-wiki #перенаправление [[Приложение "Выгрузка ЦИАН"]] c7b3624e4db6b33d33b956b2c421f601a78a40e6 Приложение "Парсер формата MLS" 0 10 40 2013-06-21T09:03:11Z Abushyk 2 Новая страница: «Парсер формата MLS» wikitext text/x-wiki Парсер формата MLS 7b35c988d58265d7494ebce34eb67fa346adae93 Шаблон agency 0 11 43 2013-06-25T17:40:38Z Abushyk 2 Новая страница: «== Список файлов == '''error_message.tpl''' Шаблон для вывода системных ошибок, таких как "Страница н…» wikitext text/x-wiki == Список файлов == '''error_message.tpl''' Шаблон для вывода системных ошибок, таких как "Страница не найдена" '''footer.tpl''' Замыкающий шаблон. Копирайт, коды счетчиков, закрытие тегов body и html '''header.tpl''' Открывающий шаблон. DOCTYPE, подключение основных библиотек, скриптов и файлов стилей. Определение глобальных javascript переменных. '''left_menu.tpl''' Шаблон вывода левого меню '''main.tpl''' Шаблон главного потока вывода. В нем выводится основное содержимое сайта. '''map.tpl''' Шаблон вывода "Карты на главной". Состоит в основном из кода скрипта. '''map_full_screen.tpl''' Шаблон вывода "Карты на главной" во весь экран сайта без дополнительных панелей, футеров и хидеров. '''news_list_column.tpl''' Шаблон вывода ленты анонсов новостей. PIE.htc '''realty_grid.tpl''' Шаблон генерации списка объявлений на сайте. Используется как для просмотра категорий, так и для отображения результатов поиска. '''realty_grid_account.tpl''' Шаблон генерации списка объявлений пользователя для личного кабинета realty_on_map.tpl Шаблон генерации всплывающего окна сжатой инфы про объявление при клике на иконку недвижимости на "Карте на главной". realty_view.tpl Шаблон отображения конкретного объявления '''remember.tpl''' Технический блок. Используется для оповещения авторизированного пользователя. Заменяет собой блок формы поиска в Личном кабинете '''right_menu.tpl''' Шаблон правого меню. '''right_special.tpl''' Шаблон вывода спецпредложений в правой колонке шаблона. '''search_form.tpl''' Управляющий шаблон формы поиска. Подключает необходимые файлы и, в зависимости от состояния окружения, выводит ибо стандартную форму поиска из standart_search_form.tpl и\или созданные пользователем '''slidemenu.tpl''' Шаблон верхнего выпадающего меню категорий ''standart_search_form.tpl'' Шаблон формы поиска '''top_special.tpl''' Шаблон вывода спецпредложений в верхней части шаблона. '''user_menu.tpl''' Шаблон генерации меню авторизированного пользователя. В нем же подключаются возможности, предлагаемыми подключенными приложениями. 26d1906225c46c1eeae4bd48e1f775088bf81182 44 43 2013-06-25T17:44:35Z Abushyk 2 wikitext text/x-wiki == Список файлов == '''error_message.tpl'''<br /> Шаблон для вывода системных ошибок, таких как "Страница не найдена"<br /> <br /> '''footer.tpl'''<br /> Замыкающий шаблон. Копирайт, коды счетчиков, закрытие тегов body и html<br /> <br /> '''header.tpl'''<br /> Открывающий шаблон. DOCTYPE, подключение основных библиотек, скриптов и файлов стилей. Определение глобальных javascript переменных.<br /> <br /> '''left_menu.tpl'''<br /> Шаблон вывода левого меню<br /> <br /> '''main.tpl'''<br /> Шаблон главного потока вывода. В нем выводится основное содержимое сайта.<br /> <br /> '''map.tpl'''<br /> Шаблон вывода "Карты на главной". Состоит в основном из кода скрипта.<br /> <br /> '''map_full_screen.tpl'''<br /> Шаблон вывода "Карты на главной" во весь экран сайта без дополнительных панелей, футеров и хидеров.<br /> <br /> '''news_list_column.tpl'''<br /> Шаблон вывода ленты анонсов новостей.<br /> <br /> '''realty_grid.tpl'''<br /> Шаблон генерации списка объявлений на сайте. Используется как для просмотра категорий, так и для отображения результатов поиска.<br /> <br /> '''realty_grid_account.tpl'''<br /> Шаблон генерации списка объявлений пользователя для личного кабинета<br /> <br /> '''realty_on_map.tpl'''<br /> Шаблон генерации всплывающего окна сжатой инфы про объявление при клике на иконку недвижимости на "Карте на главной".<br /> <br /> '''realty_view.tpl'''<br /> Шаблон отображения конкретного объявления<br /> <br /> '''remember.tpl'''<br /> Технический блок. Используется для оповещения авторизированного пользователя. Заменяет собой блок формы поиска в Личном кабинете<br /> <br /> '''right_menu.tpl'''<br /> Шаблон правого меню.<br /> <br /> '''right_special.tpl'''<br /> Шаблон вывода спецпредложений в правой колонке шаблона.<br /> <br /> '''search_form.tpl'''<br /> Управляющий шаблон формы поиска. Подключает необходимые файлы и, в зависимости от состояния окружения, выводит ибо стандартную форму поиска из standart_search_form.tpl и\или созданные пользователем<br /> <br /> '''slidemenu.tpl'''<br /> Шаблон верхнего выпадающего меню категорий<br /> <br /> '''standart_search_form.tpl'''<br /> Шаблон формы поиска<br /> <br /> '''top_special.tpl'''<br /> Шаблон вывода спецпредложений в верхней части шаблона.<br /> <br /> '''user_menu.tpl'''<br /> Шаблон генерации меню авторизированного пользователя. В нем же подключаются возможности, предлагаемыми подключенными приложениями.<br /> 4c38afb488c670adea4401328919928c3eb2a591 Tlocation 0 12 46 2013-07-24T12:25:31Z Abushyk 2 Новая страница: «Статус: в разработке Допустимые названия элемента этого типа: tlocaion (значение поля ) Тип …» wikitext text/x-wiki Статус: в разработке Допустимые названия элемента этого типа: tlocaion (значение поля ) Тип поля модели, отвечающий за адресные данные. Содержит в себе 5 встроенных частей country_id - идентификтор страны из таблицы country region_id - идентификтор региона из таблицы region city_id - идентификтор города из таблицы city district_id - идентификтор района города из таблицы district street_id - идентификтор улцы из таблицы street Предполагает наличие иерархической зависимости именно в порядке country_id -> region_id -> city_id -> district_id -> street_id Есть одно исключение. Если указан параметр link_street_to_city из иерархической цепочки исключается звено district_id и street_id считается зависимым от city_id. Принципиально каждая часть этого типа не обязана соответствовать буквально своему названию. Например city_id может указывать на район области в тот момент, когда region_id указывает на область, если в соответствующих таблицах city и region содержатся данные о областях и районах областей. 66aa894f040a3ae0e2de53bfa2870361de733646 47 46 2013-07-24T12:26:40Z Abushyk 2 wikitext text/x-wiki Статус: в разработке<br /> Допустимые названия элемента этого типа: tlocaion (значение поля )<br /> Тип поля модели, отвечающий за адресные данные.<br /> Содержит в себе 5 встроенных частей<br /> country_id - идентификтор страны из таблицы country<br /> region_id - идентификтор региона из таблицы region<br /> city_id - идентификтор города из таблицы city<br /> district_id - идентификтор района города из таблицы district<br /> street_id - идентификтор улцы из таблицы street<br /> <br /> Предполагает наличие иерархической зависимости именно в порядке country_id -> region_id -> city_id -> district_id -> street_id<br /> Есть одно исключение. Если указан параметр link_street_to_city из иерархической цепочки исключается звено district_id и street_id считается зависимым от city_id.<br /> <br /> Принципиально каждая часть этого типа не обязана соответствовать буквально своему названию.<br /> Например city_id может указывать на район области в тот момент, когда region_id указывает на область, если в соответствующих таблицах city и region содержатся данные о областях и районах областей.<br /> b41a2f65246d3c27357510d9c335ff1dcf04f7fe 48 47 2013-07-24T12:46:25Z Abushyk 2 wikitext text/x-wiki Статус: в разработке<br /> Допустимые названия элемента этого типа: tlocaion (значение поля )<br /> Тип поля модели, отвечающий за адресные данные.<br /> Содержит в себе 5 встроенных компонентов<br /> country_id - идентификатор страны из таблицы country<br /> region_id - идентификатор региона из таблицы region<br /> city_id - идентификатор города из таблицы city<br /> district_id - идентификатор района города из таблицы district<br /> street_id - идентификатор улицы из таблицы street<br /> <br /> Предполагает наличие иерархической зависимости именно в порядке country_id -> region_id -> city_id -> district_id -> street_id<br /> Есть одно исключение. Если указан параметр link_street_to_city из иерархической цепочки исключается звено district_id, и street_id считается зависимым от city_id.<br /> <br /> Принципиально каждый компонент этого типа не обязана соответствовать буквально своему названию.<br /> Например city_id может указывать на район области в тот момент, когда region_id указывает на область, если в соответствующих таблицах city и region содержатся данные о областях и районах областей.<br /> Допустимые параметры: visibles - перечень отображаемых компонентов. Указывается в формате '''компонент1|компонент2|компонент3''' Порядок компонентов не важен. При отсутствии этого параметра или его пустом значении будут отображены все компоненты. Например '''region_id|city_id''' выведет селектбоксы для региона и города. default_country_id, default_region_id.... - значение по умолчанию. например выбрано для отображения регион и город. Если текущее значение country_id не установлено, список регионов с списке выбора регионов будет установлен соответственно default_country_id, если оно задано и не равно 0. В противном же случае будет выведен список всех регионов из таблицы region 38323a7d4543a89071982d079be5956f6b7603f0 Биллинг 0 13 49 2013-08-01T11:04:03Z Kondin 1 Новая страница: «Настройка биллинга. Услуга '''limit_data''' - указывает на ограничение по количеству возможных …» wikitext text/x-wiki Настройка биллинга. Услуга '''limit_data''' - указывает на ограничение по количеству возможных объявлений для одного пользователя. В данной услуге есть следующие параметры: '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца. '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени. 6c2735abf4d9486cbcfd8812efab4e262b3666f9 50 49 2013-08-01T11:04:53Z Kondin 1 wikitext text/x-wiki Настройка биллинга.<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных объявлений для одного пользователя.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени. 3fdad29e63a8c1c4a89e76c6ccfc3cabed44563e Заглавная страница 0 1 51 31 2013-08-01T11:06:16Z Kondin 1 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Приложения]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Биллинг]]<br /> == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] 2c1b34e470ebecf2dcd8cdbcf3b5bb1303683b23 54 51 2013-08-02T03:29:59Z Kondin 1 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Биллинг]]<br /> == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] 3f15a3aba4fef6922f7969da7345b45692e2322a 55 54 2013-08-02T03:32:42Z Kondin 1 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] 9315dc6fcf6d8243123e5fdadd5cf3a9172e4700 61 55 2013-08-02T04:10:25Z Kondin 1 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] 87dd7a490d79e186e276be28cfde0171b733461b 64 61 2013-08-02T08:11:16Z Kondin 1 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] 5405b9b38413666ef8df105204e50c6d3a556dbb 66 64 2013-08-06T07:59:09Z Kondin 1 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] 76134af82a78ee3743531ef002b053f8d3f9968d 70 66 2013-08-27T03:11:03Z Kondin 1 wikitext text/x-wiki '''Вики-движок «MediaWiki» успешно установлен.''' Информацию по работе с этой вики можно найти в [//meta.wikimedia.org/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C:%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 справочном руководстве]. [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] fcb8e736bd88c40c4fbebc59cf17b3b4866d6cab 73 70 2013-08-27T03:19:15Z Kondin 1 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> == Некоторые полезные ресурсы == * [//www.mediawiki.org/wiki/Manual:Configuration_settings Список возможных настроек]; * [//www.mediawiki.org/wiki/Manual:FAQ Часто задаваемые вопросы и ответы по MediaWiki]; * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki]. * [//www.mediawiki.org/wiki/Localisation#Translation_resources Перевод MediaWiki на свой язык] 845c35c1e282cb0226cd783ddb1a5668abd100ab 74 73 2013-08-27T03:31:34Z Kondin 1 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 375193636b604aafecae59785b55bc0ec9f7cf30 75 74 2013-09-05T04:03:14Z Kondin 1 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. bc14ab7bffc3e3fcc2135d77b28826c73cdf9883 78 75 2013-09-05T04:19:30Z Kondin 1 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. f8bdc765d3e83914bb4a885010fca854080afe96 86 78 2013-09-09T03:59:56Z Kondin 1 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. c4e9f5b06f82ab418af79eebbbd020a9a0a95da8 88 86 2013-09-10T07:39:29Z Kondin 1 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. e7eb44cb40558a1673f1ebcaa249f6d11d6874ec 90 88 2013-09-10T07:41:26Z Kondin 1 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 82709f41e65a7f6a32cdf5855e25a570a1716db3 Страницы 0 14 52 2013-08-02T03:28:49Z Kondin 1 Новая страница: «Редактор страниц предназначен для создания статичных HTML страниц. В них вы можете добавл…» wikitext text/x-wiki Редактор страниц предназначен для создания статичных HTML страниц. В них вы можете добавлять произвольный текст и добавлять картинки. При использовании соответствующих тегов можно добавлять flash-анимацию.<br /> Расположен модуль статичных страниц в панели управления в пункте меню Страницы – Страницы.<br /> Для создания новой страницы нажмите «Добавить страницу». В появившейся форме нужно заполнить необходимые поля.<br /><br /> '''Заголовок''' – этот заголовок будет выводиться в строке браузера, если не указан meta_title, а также будет выведен в хлебных крошках, когда пользователь просматривает эту страницу. Это обязательное поле.<br /> '''URI''' – уникальный идентификатор страницы. Сюда нужно вписать латинскими буквами адрес страницы на сайте. Например, если вы создаете страницу Услуги, то сюда нужно вписать латинскими буквами uslugi. После сохранения эта страница будет доступна по адресу http://ваш_сайт/uslugi. Обращаем вашем внимание что в URI не нужно использовать символы /. Это обязательное поле.<br /> '''Meta title''' – если указать это поле, тогда оно заменит собой тег <title> в коде страницы и также будет выведено в заголовке окна браузера. Поисковики будут загружать именно этот заголовок страницы. Поле не обязательно для заполнения.<br /> '''Meta keywords''' – служит для ввода ключевых слов через запятую. Тек meta_keywords Поле не обязательно для заполнения. (<meta name="keywords" lang="ru" content="тут будут ваши ключевые слова">)<br /> '''Meta description''' – для заполнения описания страницы, также для поисковых машин. (<meta name="description" lang="ru" content="тут будет описание">)<br /> Содержимое – сюда нужно вписывать текст страницы. Можно использовать любую HTML разметку. Текст отсюда будет выведен на самой страничке.<br /> f57f19bacf05167b0cdb7d6c517b1d44004e506b 53 52 2013-08-02T03:29:31Z Kondin 1 wikitext text/x-wiki Редактор страниц предназначен для создания статичных HTML страниц. В них вы можете добавлять произвольный текст и добавлять картинки. При использовании соответствующих тегов можно добавлять flash-анимацию.<br /> Расположен модуль статичных страниц в панели управления в пункте меню Страницы – Страницы.<br /> Для создания новой страницы нажмите «Добавить страницу». В появившейся форме нужно заполнить необходимые поля.<br /><br /> '''Заголовок''' – этот заголовок будет выводиться в строке браузера, если не указан meta_title, а также будет выведен в хлебных крошках, когда пользователь просматривает эту страницу. Это обязательное поле.<br /> '''URI''' – уникальный идентификатор страницы. Сюда нужно вписать латинскими буквами адрес страницы на сайте. Например, если вы создаете страницу Услуги, то сюда нужно вписать латинскими буквами uslugi. После сохранения эта страница будет доступна по адресу http://ваш_сайт/uslugi. Обращаем вашем внимание что в URI не нужно использовать символы /. Это обязательное поле.<br /> '''Meta title''' – если указать это поле, тогда оно заменит собой тег <title> в коде страницы и также будет выведено в заголовке окна браузера. Поисковики будут загружать именно этот заголовок страницы. Поле не обязательно для заполнения.<br /> '''Meta keywords''' – служит для ввода ключевых слов через запятую. Тек meta_keywords Поле не обязательно для заполнения. (''<meta name="keywords" lang="ru" content="тут будут ваши ключевые слова">'')<br /> '''Meta description''' – для заполнения описания страницы, также для поисковых машин. (''<meta name="description" lang="ru" content="тут будет описание">'')<br /> Содержимое – сюда нужно вписывать текст страницы. Можно использовать любую HTML разметку. Текст отсюда будет выведен на самой страничке.<br /> 638521f35e6c1c977c98eb3f4e83c4f38ec5dfa9 100 53 2013-09-16T08:56:18Z Kondin 1 wikitext text/x-wiki Редактор страниц предназначен для создания статичных HTML страниц. В них вы можете добавлять произвольный текст и добавлять картинки. При использовании соответствующих тегов можно добавлять flash-анимацию.<br /> Расположен модуль статичных страниц в панели управления в пункте меню Страницы – Страницы.<br /> Для создания новой страницы нажмите «Добавить страницу». В появившейся форме нужно заполнить необходимые поля.<br /><br /> '''Заголовок''' – этот заголовок будет выводиться в строке браузера, если не указан meta_title, а также будет выведен в хлебных крошках, когда пользователь просматривает эту страницу. Это обязательное поле.<br /> '''URI''' – уникальный идентификатор страницы. Сюда нужно вписать латинскими буквами адрес страницы на сайте. Например, если вы создаете страницу Услуги, то сюда нужно вписать латинскими буквами uslugi. После сохранения эта страница будет доступна по адресу http://ваш_сайт/uslugi. Обращаем вашем внимание что в URI не нужно использовать символы /. Это обязательное поле.<br /> '''Meta title''' – если указать это поле, тогда оно заменит собой тег <title> в коде страницы и также будет выведено в заголовке окна браузера. Поисковики будут загружать именно этот заголовок страницы. Поле не обязательно для заполнения.<br /> '''Meta keywords''' – служит для ввода ключевых слов через запятую. Тек meta_keywords Поле не обязательно для заполнения. (''<meta name="keywords" lang="ru" content="тут будут ваши ключевые слова">'')<br /> '''Meta description''' – для заполнения описания страницы, также для поисковых машин. (''<meta name="description" lang="ru" content="тут будет описание">'')<br /> Содержимое – сюда нужно вписывать текст страницы. Можно использовать любую HTML разметку. Текст отсюда будет выведен на самой страничке.<br /> <br /> <br /> После того, как вы добавили страницу ее можно вывести на сайте. Для этого зайдите в панели управления в пункт '''Меню'''. Там выберите нужное меню и кликните кнопку '''Структура'''. Здесь добавьте новый пункт. В названии, например, О компании. В URL пишем /about/. Обязательно указываем слеши. 0a90bd1e928923f6c3f91fcb2def2526631b03e7 Приложения 0 6 56 42 2013-08-02T03:33:06Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер формата MLS"]]<br /> [[Биллинг]]<br /> 1e0642a9e3d4284112ca96744281a06b2b074128 57 56 2013-08-02T03:33:22Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер формата MLS"]]<br /> [[Биллинг]]<br /> 14702528343ad9f96fc17d5308ac6acccaf74472 60 57 2013-08-02T03:47:44Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> 6772fd2ade8c5736ec32ec8b2df1c7dc788306e2 68 60 2013-08-26T05:48:25Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> bdcbcdd321fb8cd974a251686b0ceea77c796db5 80 68 2013-09-05T04:21:05Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> 5112cded41027e2b745e31f43b68820348a27157 83 80 2013-09-09T03:38:22Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> bd1c2103fb2cceeafde397a6b1d8d9e71cda81d5 Приложение "Mailbox" 0 15 58 2013-08-02T03:45:56Z Kondin 1 Новая страница: «<big>Приложение «Mailbox» Почтовый ящик</big><br /> Данное приложение предназначено для внутренн…» wikitext text/x-wiki <big>Приложение «Mailbox» Почтовый ящик</big><br /> Данное приложение предназначено для внутренней переписки пользователей и посетителей сайта. Например, из формы объявления можно отправить заявку на этот объект. В форме посетитель указывает свои контактные данные и сообщение. В поле тема сообщения автоматически добавляется ID объявления и его краткое описание. <br /> После отправки сообщения хозяин этого объявления получает почтовое уведомление на адрес указанный у него в профиле. Также это сообщение записывается в его личные сообщения и доступно в личном кабинете в пункте «Мои сообщения». Непрочитанные сообщения отмечены жирным шрифтов. <br /> Также у приложения «Почтовый ящик» есть функция рекомендации объявления другу по почте. При нажатии на кнопку «Поделиться» появляется форма в которой посетителю нужно вписать свой email и email друга и текст с сообщением. Это сообщение отправляется на адрес друга со ссылкой на объявление и пометкой от кого с его сообщением.<br /> '''Установка.'''<br /> В новых дистрибутивах приложение установлено по-умолчанию. Для старых дистрибутивов нужно распаковать архив mailbox.zip и загрузить файлы в каталог /apps/mailbox/. Затем зайти в панель управления и набрать адрес /admin/?action=mailbox. Пропишутся все необходимые переменные и создадутся нужные таблицы в базе данных. После этого в настройках появиться закладка Mailbox. Там нужно поставить галочку «Включить приложение Mailbox». a60ddbbc6e58ff8e557e5986c8419001a03b15e8 59 58 2013-08-02T03:46:39Z Kondin 1 wikitext text/x-wiki <big>Приложение «Mailbox» Почтовый ящик</big><br /> Данное приложение предназначено для внутренней переписки пользователей и посетителей сайта. Например, из формы объявления можно отправить заявку на этот объект. В форме посетитель указывает свои контактные данные и сообщение. В поле тема сообщения автоматически добавляется ID объявления и его краткое описание. <br /><br /> После отправки сообщения хозяин этого объявления получает почтовое уведомление на адрес указанный у него в профиле. Также это сообщение записывается в его личные сообщения и доступно в личном кабинете в пункте «Мои сообщения». Непрочитанные сообщения отмечены жирным шрифтов. <br /><br /> Также у приложения «Почтовый ящик» есть функция рекомендации объявления другу по почте. При нажатии на кнопку «Поделиться» появляется форма в которой посетителю нужно вписать свой email и email друга и текст с сообщением. Это сообщение отправляется на адрес друга со ссылкой на объявление и пометкой от кого с его сообщением.<br /><br /> '''<big>Установка.</big>'''<br /> В новых дистрибутивах приложение установлено по-умолчанию. Для старых дистрибутивов нужно распаковать архив mailbox.zip и загрузить файлы в каталог /apps/mailbox/. Затем зайти в панель управления и набрать адрес /admin/?action=mailbox. Пропишутся все необходимые переменные и создадутся нужные таблицы в базе данных. После этого в настройках появиться закладка Mailbox. Там нужно поставить галочку «Включить приложение Mailbox». ba604585e42a56b0b884eeed78a8e68a462ccc9a Биллинг 0 13 62 50 2013-08-02T04:36:06Z Kondin 1 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных объявлений для одного пользователя.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени. 2853811d15a010e4d2831486732bd73ad508a80f 67 62 2013-08-19T10:30:33Z Kondin 1 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день. '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных объявлений для одного пользователя.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени. 11419cc22adfbb7843dd4c410e046dd68a22542c 98 67 2013-09-11T06:42:17Z Kondin 1 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день. '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных объявлений для одного пользователя.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php 50006adcf7e76c87bcfa3f0573db7b51e2e5c342 Настройка робокассы 0 16 63 2013-08-02T08:10:36Z Kondin 1 Новая страница: «В технических параметрах в '''ЛИЧНОМ КАБИНЕТЕ РОБОКАССЫ''' вам нужно настроить следующие …» wikitext text/x-wiki В технических параметрах в '''ЛИЧНОМ КАБИНЕТЕ РОБОКАССЫ''' вам нужно настроить следующие поля.<br /> <br /> Пароль1<br /> Пароль2<br /> <br /> Затем указываем<br /> '''Result URL''': http://ваш_сайт.ru/robox/result/<br /> Метод отсылки данных по Result URL: GET<br /> '''Success URL''': http://ваш_сайт.ru/robox/success/<br /> Метод отсылки данных по Success URL: GET<br /> '''Fail URL''': http://ваш_сайт.ru/robox/fail/<br /> Метод отсылки данных по Fail URL: GET<br /> <br /> <br /> Теперь переходим в панель управления CMS Sitebill в настройки<br /> В поле адрес службы приема платежей по-умолчанию стоит тестовый сервер http://test.robokassa.ru/Index.aspx, если вы уже протестировали сервис и активировали аккаунт в робокассе, то пропишите сюда рабочий адрес: https://merchant.roboxchange.com/Index.aspx<br /> Также надо вписать в поля Пароль 1 для robokassa.ru и Пароль 2 для robokassa.ru те пароли что вы придумали в личном кабинете робокассы.<br /> Сохраните настройки.<br /> Теперь вашим пользователям в личном кабинете можно пополнять свой счет. 1f65147db9d262a5c193246a6f40155161b10c31 Структура разделов 0 17 65 2013-08-06T07:58:05Z Kondin 1 Новая страница: «Все объявления разделены по категориям. Аренда, Продажа, Новостройки и прочее. В каждом р…» wikitext text/x-wiki Все объявления разделены по категориям. Аренда, Продажа, Новостройки и прочее. В каждом разделе есть возможность выбора подразделов.<br /> Дерево этих разделов можно править в панели управления. В пункте меню Структура.<br /> При удалении выполняется проверка – если в данном разделе и его дочерних подразделах существуют объявления, то система выведет сообщение о том, что сначала нужно удалить все объявления оттуда. Также будет ошибка при удалении если попробовать удалить родительский раздел в котором есть дочерние разделы. В этом случае также нужно сначала удалить все дочерние разделы.<br /> При создании нового раздела заполняются следующие поля:<br /> '''Родительский раздел''' – определяет в будет ли новый раздел входить в состав какого-либо существующего раздела. С помощью этого выбора можно создавать цепочки: Коммерческая / Офисы / Аренда.<br /> '''Название раздела''' – это поле для русского названия раздела. Если в вашей системе установлено больше одного языка, то внизу будут дополнительные поля с постфиксами языков, например am, cn, en, ua. Соответственно эти названия будут выводиться, когда пользователь будет переключаться между языками.<br /> '''Meta title''' – это название для строчки браузера и посковиков. В текущей версии все мета-теги только на одном языке. '''Meta keywords''' и '''Meta description''' – также заполняются для поисковых систем.<br /> '''Описание''' – данное описание будет выведено в виде текста под таблицей объявлений в этом разделе. Хорошо помогает при продвижении и поисковой оптимизации. Ну и конечно, не будет лишним для людей и сделает ваш сайт более понятным в использовании.<br /> '''ЧПУ''' – сюда вписывается URL или часть адреса страницы (в случае если включен SEO-режим). Если это полный адрес, то сюда нужно вписать строку вида arenda-kvartir только латинскими буквами. Если это часть адреса, тогда пишем сюда только ту часть, к которой он относится. Например, 1-komn, также латинскими буквами. В сумме этот адрес будет иметь вид arena/1-konm, т.е. система автоматически подберет URL часть из верхнего раздела и добавит часть из текущего. 2291084c26957b895b925eb6058afe32fd7ab190 Приложение "Mysearch" 0 18 69 2013-08-26T05:57:38Z Kondin 1 Новая страница: «Персональная поисковая рассылка (mysearch)<br /> Данное приложение служит для того, чтобы поль…» wikitext text/x-wiki Персональная поисковая рассылка (mysearch)<br /> Данное приложение служит для того, чтобы пользователи могли сохранять поисковые запросы и выполнять поиск по этим запросам при клике по этому сохранению. Также при настройке задания в cron можно автоматически делать рассылку новых объявлений подходящих под этот поисковый запрос.<br /> Пример: Пользователь ввел в форме поиска параметры «''Аренда/1-комнатные в Центральном районе, города Саратов''». После нажатия кнопки сохранить пользователю будет предложено сохранить данный запрос (над формой поиска). Сохранение запроса доступно только авторизованным пользователям. Если пользователь не авторизован, то ему будет предложено сначала авторизоваться перед сохранением запроса.<br /> После сохранения запроса он будет записан в базу данных и будет доступен в пункте личного кабинета Мой поиск. Можно создавать любое количество сохраненных поисковых запросов.<br /> Теперь каждый день пользователю будут приходить новые объявления по запросу «''Аренда/1-комнатные в Центральном районе, города Саратов''», только если он отметил галочку «Отправлять на email».<br /> Для того чтобы выполнялась автоматическая рассылка нужно добавить задание в cron запускать раз в сутки.<br /> '''1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/mysearch/cron.php''' c9bb4d86e4d0a532ad8a780b929a7f9c0ced00d5 Редактор текста CKEditor 0 19 71 2013-08-27T03:13:44Z Kondin 1 Новая страница: «В CMS Sitebill предусмотрена возможность установки альтернативных редакторов текста. Здесь м…» wikitext text/x-wiki В CMS Sitebill предусмотрена возможность установки альтернативных редакторов текста. Здесь мы рассмотрим каким образом установить редактор [http://ckeditor.com/ CKEditor].<br /> Для начала необходимо [http://www.sitebill.ru/storage/editors/ckeditor_ckfinder.zip скачать архив с файлами], распаковать и загрузить по FTP на ваш хостинг в корне каталога установки CMS. В корне теперь должны находиться каталоги ckeditor, ckfinder. <br /> Теперь необходимо зайти в панель управления в настройки. Тут находим поле WYSIWYG-редактор (editor) и в выпадающем списке выбираем ''ckeditor''. Сохраняем настройки.<br /> После этого, если мы зайдем в редактор страниц или новостей то увидим новый редактор текста. С помощью него можно создавать таблицы, делать больше оформлений тегами и самое интересное можно добавлять фотографии и загружать эти фотографии с помощью менеджера картинок.<br /> ''Замечание'': редактор текста появляется только для полей типа '''textarea_editor'''.<br /> 2429110b9618f3801c71d2b06b6ed1d3c4b4bf29 72 71 2013-08-27T03:14:51Z Kondin 1 wikitext text/x-wiki В CMS Sitebill предусмотрена возможность установки альтернативных редакторов текста. Здесь мы рассмотрим каким образом установить редактор [http://ckeditor.com/ CKEditor].<br /> Для начала необходимо [http://www.sitebill.ru/storage/editors/ckeditor.tgz скачать архив с файлами], распаковать и загрузить по FTP на ваш хостинг в корне каталога установки CMS. В корне теперь должны находиться каталоги ckeditor, ckfinder. <br /> Теперь необходимо зайти в панель управления в настройки. Тут находим поле WYSIWYG-редактор (editor) и в выпадающем списке выбираем ''ckeditor''. Сохраняем настройки.<br /> После этого, если мы зайдем в редактор страниц или новостей то увидим новый редактор текста. С помощью него можно создавать таблицы, делать больше оформлений тегами и самое интересное можно добавлять фотографии и загружать эти фотографии с помощью менеджера картинок.<br /> ''Замечание'': редактор текста появляется только для полей типа '''textarea_editor'''.<br /> 2ffd50c4231dff4d3d0079e6244b168e3c1ee74f Настройка Меню типов недвижимости 0 20 76 2013-09-05T04:04:15Z Kondin 1 Новая страница: «Настройка внешнего вида меню категорий (типов недвижимости)<br /> Меню категорий типов не…» wikitext text/x-wiki Настройка внешнего вида меню категорий (типов недвижимости)<br /> Меню категорий типов недвижимости можно редактировать. Для этого нужно зайти в настройки и поменять Тип верхнего меню.<br /> Сейчас доступны три типа меню:<br /> '''purecss''' – включено по-умолчанию в демо-версии.<br /> '''slidemenu''' – меню будет выглядеть в виде градиентных блоков.<br /> '''megamenu''' – данное меню используется в шаблоне realty. И поэтому оно не подойдет для шаблона agency.<br /> 00b8c76e606c8ddd0bdd045793446d1a5b294863 77 76 2013-09-05T04:05:28Z Kondin 1 wikitext text/x-wiki Настройка внешнего вида меню категорий (типов недвижимости)<br /> Меню категорий типов недвижимости можно редактировать. Для этого нужно зайти в настройки и поменять Тип верхнего меню.<br /> Сейчас доступны три типа меню:<br /> '''purecss''' – включено по-умолчанию в демо-версии.<br /> '''slidemenu''' – меню будет выглядеть в виде градиентных блоков.<br /> '''megamenu''' – данное меню используется в шаблоне realty. И поэтому оно не подойдет для шаблона agency.<br /> Все пункты данного меню можно редактировать в [[Структура разделов|Структуре разделов]] 9bd14dfb5b959ebd90c3065c99162596eb8691e4 Добавление улиц районов городов пользователями 0 21 79 2013-09-05T04:20:07Z Kondin 1 Новая страница: «Использование combobox<br /> Часто возникает такая ситуация, что при добавлении объявления по…» wikitext text/x-wiki Использование combobox<br /> Часто возникает такая ситуация, что при добавлении объявления пользователем из личного кабинета или напрямую из формы сайта требуется вписать район или улицу, которых нет в базе данных. Для этого мы разработали специальный режим Combobox для выпадающих списков.<br /> Смысл данного режима состоит в том, что пользователь может вписывать первые буквы в поле ввода улицы, района, города и любого другого поля select_by_query, а система в это время подыскивает вариант по этой букве или последовательности букв. Если найдено совпадение, то пользователь может выбрать его и не впечатывать название целиком. Оно само заполнится. Если же такое название не найдено в базе, то заполнив его полностью и сохранив форму это название автоматически добавится в список возможных вариантов. И это значение можно будет использовать в дальнейшем.<br /> Включается этот режим следующим образом. Зайдите в настройки и поставьте галочку «Использовать combobox в элементах select (use_combobox)». Сохраните настройки. Затем перейдите в Редактор форм. И выберите, например, Улицу (street_id ). Установите галочку «Использовать комбобокс-виджет».<br /> После этого в формах добавления/редактирования объявлений для поля Улица будет использоваться этот виджет. aa1dd1280bae6f55cc3520d44dc245201b0daa83 82 79 2013-09-05T04:25:13Z Kondin 1 wikitext text/x-wiki Использование combobox<br /> Часто возникает такая ситуация, что при добавлении объявления пользователем из личного кабинета или напрямую из формы сайта требуется вписать район или улицу, которых нет в базе данных. Для этого мы разработали специальный режим Combobox для выпадающих списков.<br /> Смысл данного режима состоит в том, что пользователь может вписывать первые буквы в поле ввода улицы, района, города и любого другого поля select_by_query, а система в это время подыскивает вариант по этой букве или последовательности букв. Если найдено совпадение, то пользователь может выбрать его и не впечатывать название целиком. Оно само заполнится. Если же такое название не найдено в базе, то заполнив его полностью и сохранив форму это название автоматически добавится в список возможных вариантов. И это значение можно будет использовать в дальнейшем.<br /> Включается этот режим следующим образом. Зайдите в настройки и поставьте галочку «Использовать combobox в элементах select (use_combobox)». Сохраните настройки. Затем перейдите в [[Приложение "Редактор форм"]]. И выберите, например, Улицу (street_id ). Установите галочку «Использовать комбобокс-виджет».<br /> После этого в формах добавления/редактирования объявлений для поля Улица будет использоваться этот виджет. 6955192b8c94d5508d943b4ec6e9f7567b2eadf0 Приложение "Редактор форм" 0 22 81 2013-09-05T04:24:26Z Kondin 1 Новая страница: «Подробное описание приложения Редактора форм в данном видео-уроке<br /> http://www.youtube.com/watch?v=v…» wikitext text/x-wiki Подробное описание приложения Редактора форм в данном видео-уроке<br /> http://www.youtube.com/watch?v=vpVpUq0q5GA 5f4bb5dcea87ea663fb60997f361945900783880 Excel 0 23 84 2013-09-09T03:54:28Z Kondin 1 Новая страница: «Загрузка картинок в платной версии Excel выполняется следующим образом. Для начала вам нуж…» wikitext text/x-wiki Загрузка картинок в платной версии Excel выполняется следующим образом. Для начала вам нужно обновить приложение Excel до версии '''1.8.2''' и выше через [[Центр обновлений|центр обновлений]].<br /> Затем загрузить картинки через FTP в каталог ''/cache/upl/xls_uploads/''. Названия для фотографий лучше давать латинскими буквами или цифрами. Например, '''1.jpg, 123.jpg, vid.jpg'''.<br /> Теперь нужно в загружаемом файле Excel добавить колонку с названием Фотографии. Причем обязательно назвать именно так, потому что по ней будет выполнен автоматический поиск.<br /> В колонке фотографии нужно добавить список названий файлов фотографий, принадлежащий данному объявлению. Если фотографий несколько, то нужно разделить названия с помощью символа ''';''' <br /> Пример '''1.jpg;2.jpg;3.jpg''';<br /> Убедитесь перед загрузкой файла Excel в том, что соответствующие файлы фотографий загружены в каталог ''/cache/upl/xls_uploads/''. И после можете нажимать загрузку файла в базу данных. После обработки фотографии автоматически удаляются из каталога ''/cache/upl/xls_uploads/''. Также автоматически создаются превью и большие фото. Но следует учесть, что размер фото не должен превышать допустимого размера, который может обработать хостинг. 72570d674f125e7fd49013fff69fbb6f20ffa3ab 87 84 2013-09-09T05:52:28Z Abushyk 2 wikitext text/x-wiki Загрузка картинок в платной версии Excel выполняется следующим образом. Для начала вам нужно обновить приложение Excel до версии '''1.8.2''' и выше через [[Центр обновлений|центр обновлений]].<br /> Затем загрузить картинки через FTP в каталог ''/cache/upl/xls_uploads/''. Названия для фотографий лучше давать латинскими буквами или цифрами. Например, '''1.jpg, 123.jpg, vid.jpg'''.<br /> Теперь нужно в загружаемом файле Excel добавить колонку с названием Фотографии (либо иначе). Причем обязательно назвать в точности так, как называется поле c системным именем '''image''' в Вашем наборе полей для таблицы data, потому что по ней будет выполнен автоматический поиск.<br /> В колонке фотографии нужно добавить список названий файлов фотографий, принадлежащий данному объявлению. Если фотографий несколько, то нужно разделить названия с помощью символа ''';''' <br /> Пример '''1.jpg;2.jpg;3.jpg''';<br /> Убедитесь перед загрузкой файла Excel в том, что соответствующие файлы фотографий загружены в каталог ''/cache/upl/xls_uploads/''. И после можете нажимать загрузку файла в базу данных. После обработки фотографии автоматически удаляются из каталога ''/cache/upl/xls_uploads/''. Также автоматически создаются превью и большие фото. Но следует учесть, что размер фото не должен превышать допустимого размера, который может обработать хостинг. 364cb683156f64e9715451472b3582dc6a417506 Центр обновлений 0 24 85 2013-09-09T03:59:01Z Kondin 1 Новая страница: «Центр обновлений предназначен для загрузки новых версий приложений с сервера разработч…» wikitext text/x-wiki Центр обновлений предназначен для загрузки новых версий приложений с сервера разработчиков. <br /> Чтобы зайти в центр обновлений нужно в панели управления кликнуть по пункту меню Обновления. <br /> Приложения с актуальными версиями отмечаются зеленым цветом. Если у приложения доступны новые версии, то они отмечены оранжевым цветом. <br /> Для того чтобы обновить приложение необходимо кликнуть ссылку «Обновить до …» или «Update to …» b44052f7e54fd445db5417223b4152adcc1bf58c Введение 0 25 89 2013-09-10T07:39:46Z Kondin 1 Новая страница: «Скрипт недвижимости представляет собой автоматизированную систему управления сайтом. …» wikitext text/x-wiki Скрипт недвижимости представляет собой автоматизированную систему управления сайтом. Для размещения объявлений о недвижимости с помощью web-интерфейса. Упрощенные функции позволяют даже начинающему пользователю быстро разобраться с основными инструментами. Выгодное отличие от навороченных систем управления вроде Joomla, Bitrix, Drupal – состоит в том, что данный скрипт разработан специально для одной цели, в то время как другие системы включают в себя множество функций, которые в большинстве случаев никогда не понадобятся обычному пользователю. da2b76d944e8d056535b24a53e64dbc9027f9bfe Пользователи 0 26 91 2013-09-10T07:42:18Z Kondin 1 Новая страница: «Список пользователей находится в панели управления в меню Пользователи.<br /> Здесь вы мо…» wikitext text/x-wiki Список пользователей находится в панели управления в меню Пользователи.<br /> Здесь вы можете увидеть список пользователей. При создании пользователя необходимо указать логин, пароль и группу. Это обязательные поля для заполнения. При редактировании пароль нужно указывать только если вы собираетесь поменять пароль доступа.<br /> Список полей пользователя может меняться в разных версиях продукта.<br /> Необязательные поля и фотографии можно исправлять в любое время.<br /> c57c43610c9de94bbd5c41b535f1af56a817c789 Группы 0 27 92 2013-09-10T07:44:01Z Kondin 1 Новая страница: «Группы пользователей доступны в панели управления в пункте меню Доступ -> Группы<br /> Гру…» wikitext text/x-wiki Группы пользователей доступны в панели управления в пункте меню Доступ -> Группы<br /> Группы пользователей необходимы чтобы распределять функции по уровню доступа. Например, группа администраторов имеет доступ для входа в панель управления. У каждой группы можно редактировать список прав доступа. Для этого необходимо кликнуть по пункту меню «Группы», затем кликнуть напротив названия нужной группы «Права доступа». Откроется форма в которой можно галочками расставить разрешение на определенные функции. Набор функций можно дополнять – смотрите пункт меню Компоненты.<br /> При создании новой группы следует обязательно заполнить Название группы и Системное название. В системном названии используйте только латинские буквы. Так как в программном коде выполняется обращение к этой группе по данному тегу (системное название).<br /> Никогда не удаляйте группу администраторы, иначе вы не сможете после этого войти в панель управления.<br /> 1f39120c8d28b1a3a93b6d06d4eacc63d69cf83f 93 92 2013-09-10T07:50:20Z Kondin 1 wikitext text/x-wiki Группы пользователей доступны в панели управления в пункте меню Доступ -> Группы<br /> Группы пользователей необходимы чтобы распределять функции по уровню доступа. Например, группа администраторов имеет доступ для входа в панель управления. У каждой группы можно редактировать список прав доступа. Для этого необходимо кликнуть по пункту меню «Группы», затем кликнуть напротив названия нужной группы «Права доступа». Откроется форма в которой можно галочками расставить разрешение на определенные функции. Набор функций можно дополнять – смотрите пункт меню [[Компоненты]].<br /> При создании новой группы следует обязательно заполнить Название группы и Системное название. В системном названии используйте только латинские буквы. Так как в программном коде выполняется обращение к этой группе по данному тегу (системное название).<br /> Никогда не удаляйте группу администраторы, иначе вы не сможете после этого войти в панель управления.<br /> 86bb9293561e38a18797e4645bf766eb065264c3 Компоненты 0 28 94 2013-09-10T07:50:48Z Kondin 1 Новая страница: «Компоненты представляют собой набор функций объединенных одним именем. <br /> Компоненты …» wikitext text/x-wiki Компоненты представляют собой набор функций объединенных одним именем. <br /> Компоненты доступны в пункте меню Группы -> Компоненты. Доступны функции создания/редактирования и удаления компонента.<br /> Например, компонент admin_panel – если нажать на кнопку структура, то мы увидим список функций которые имеет этот компонент. Системное название функции и Описание.<br /> login | разрешение на вход.<br /> Снизу расположен список для добавления новых функций к этому компоненту. После нажатия кнопки «Добавить» новая функция автоматически добавиться к этому компоненту. 21f7be4c2db01155fcf3fdf5296d0370bb27cf25 95 94 2013-09-10T07:52:25Z Kondin 1 wikitext text/x-wiki Компоненты представляют собой набор функций объединенных одним именем. <br /> Компоненты доступны в пункте меню Доступ -> Компоненты. Доступны функции создания/редактирования и удаления компонента.<br /> Например, компонент admin_panel – если нажать на кнопку структура, то мы увидим список [[функций]] которые имеет этот компонент. Системное название функции и Описание.<br /> login | разрешение на вход.<br /> Снизу расположен список для добавления новых функций к этому компоненту. После нажатия кнопки «Добавить» новая функция автоматически добавиться к этому компоненту. 529817e8646dead52b07525af6da845fba287bb0 Функций 0 29 96 2013-09-10T07:53:04Z Kondin 1 Новая страница: «Функции определяют атомарные операции доступные в каком либо компоненте. Чтобы вывести …» wikitext text/x-wiki Функции определяют атомарные операции доступные в каком либо компоненте. Чтобы вывести список функций зайдите в меню Группы -> Функции.<br /> При создании функции в Названии следует писать только латинскими буквами. В описании можно добавлять текст для лучшего понимания администраторам системы.<br /> [[Пример задачи с использованием прав доступа]] afbfeabc0e099e86abe9c8a46cdc91b79d150f31 Пример задачи с использованием прав доступа 0 30 97 2013-09-10T07:54:14Z Kondin 1 Новая страница: «Предположим, что нам нужно создать компонент – user_account (он будет определять у нас набор ф…» wikitext text/x-wiki Предположим, что нам нужно создать компонент – user_account (он будет определять у нас набор функций для личного кабинета пользователя). Причем для группы риэлторов (realtor) будет доступны функции добавления объявления (add_adv), удаления объявления (remove_adv). <br /> А для группы директор агентства (director) будут доступны все функции риэлтора, но еще дополнительно функция создания и удаления новых риэлторов (add_user, remove_user) <br /> Для этого нам потребуется создать функции: add_adv, remove_adv, add_user, remove_user. Создать компонент user_account и добавить в него вышеперечисленные функции. <br /> Создать группы пользователей realtor, director. <br /> Затем зайти в структуру прав доступа группы и назначить галочками доступы к соответствующим функциям. <br /> Группа Функции <br /> director add_adv, remove_adv, add_user, remove_user <br /> Realtor add_adv, remove_adv <br /> Таким образом мы построили матрицу прав доступа. <br /> Чтобы воспользоваться такой матрицей в программном коде, нам нужно вызвать функцию проверки прав доступа из класса Permission. <br /> $this->permission = new Permission(); <br /> if ( $this->permission->get_access($user_id, 'user_account', 'add_user') ) { <br /> //тут код который разрешен для выполнения этому пользователю <br /> } <br /> 64c5b6b9c899bc4941b3004dfc0ef5f7489ccc91 Приложение "Выгрузка Yandex.Realty" 0 31 99 2013-09-14T17:39:23Z Abushyk 2 Новая страница: «Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указа…» wikitext text/x-wiki Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город. Принимающие участие в выгрузке поля id - идентификатор объявления внутри системы optype - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа". property_type - поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая" a44cd33c7e68f680d177db0b18b383977c710ba7 Приложения 0 6 101 83 2013-09-17T09:24:42Z Abushyk 2 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> ca4eba3fa5b64cd3206d80e24c9b9267038fe79d 149 101 2014-05-30T02:58:21Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 3fc0a6326828ee6b4527372da0b1d361092dd505 150 149 2014-06-06T08:22:00Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[System logger|Приложение "System logger"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 0b3dfc0e913bee427c1a24309ffcc8e355d539c3 Приложение "Выгрузка Yandex.Realty" 0 31 102 99 2013-09-17T12:19:38Z Abushyk 2 wikitext text/x-wiki Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город. === Принимающие участие в выгрузке поля === ==== Общие поля ==== id - идентификатор объявления внутри системы<br /> optype - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> property_type - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> country - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> ==== Агент ==== Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) ==== Валюта. ==== Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена dea0e78ffe238a4a316b176618c088e368fccf6f 103 102 2013-09-17T12:20:22Z Abushyk 2 wikitext text/x-wiki Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город. === Принимающие участие в выгрузке поля === ==== Общие поля ==== '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> ==== Агент ==== Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) ==== Валюта. ==== Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена 05be8e31a2f4db3f8db86d028897f32b07b49916 Дополнительные параметры элемента модели 0 32 104 2013-09-25T20:42:38Z Abushyk 2 Новая страница: «=== Маска поля ввода мобильного телефона === Маска задается дополнительным параметром mask …» wikitext text/x-wiki === Маска поля ввода мобильного телефона === Маска задается дополнительным параметром mask в одном из полей Параметры элемента модели. Если этот параметр не задан, тогжа используется маска по умолчанию <br /> '''h (hhh) hhh-hh-hh'''<br /> где h - обозначает любое число от 0 до 9<br /> Вне зависимости от заданной маски в базе данных телефоны хранятся в виде набора цифр, а все нецифровые элементы из них удаляются. Поэтому стоит помнить, что задаваемая параметром mask маска, является лишь маской ввода, но не вывода данных на страницы сайта. Для форматирования вывода применяйте функции шаблона либо функции самого движка.<br /> Вы можете задать свою маску путем составления строки с необходимыми вам элементами. Например маска ввода номера сотового для операторов Украины:<br /> '''+38 (0hh) hhh-hh-hh'''<br /> использовав такую маску, вы получите в поле ввода, при его активации шаблон в виде ''+38 (0__) ___-__-__'', которій пользователь будет обязан соблюсти. Так же по этой маске будет проверен ввод этого поля и в момент валидации полей модели.<br /> '''Важно:''' Число "9" является оним из вариантов задания позиции маски. Например, указав маску ''7999hhh'' вы получите, вместо ожидаемого шаблона в поле ''7999___'' (три подчеркивания), ''7______'' (шесть подчеркиваний). Это правило работает только для цифры 9, поэтому следует избегать ее применения в масках. 3efa64974a1b51c74bf1489e688af26c533a46ba 105 104 2013-09-25T20:43:21Z Abushyk 2 wikitext text/x-wiki === Маска поля ввода мобильного телефона === Маска задается дополнительным параметром mask в одном из полей Параметры элемента модели. Если этот параметр не задан, тогжа используется маска по умолчанию <br /> '''h (hhh) hhh-hh-hh'''<br /> где h - обозначает любое число от 0 до 9<br /> Вне зависимости от заданной маски в базе данных телефоны хранятся в виде набора цифр, а все нецифровые элементы из них удаляются. Поэтому стоит помнить, что задаваемая параметром mask маска, является лишь маской ввода, но не вывода данных на страницы сайта. Для форматирования вывода применяйте функции шаблона либо функции самого движка.<br /> Вы можете задать свою маску путем составления строки с необходимыми вам элементами. Например маска ввода номера сотового для операторов Украины:<br /> '''+38 (0hh) hhh-hh-hh'''<br /> использовав такую маску, вы получите в поле ввода, при его активации шаблон в виде ''+38 (0__) ___-__-__'', который пользователь будет обязан соблюсти. Так же по этой маске будет проверен ввод этого поля и в момент валидации полей модели.<br /> '''Важно:''' Число "9" является оним из вариантов задания позиции маски. Например, указав маску ''7999hhh'' вы получите, вместо ожидаемого шаблона в поле ''7999___'' (три подчеркивания), ''7______'' (шесть подчеркиваний). Это правило работает только для цифры 9, поэтому следует избегать ее применения в масках. dc439c81ec7599518c50d622cd3ef819576a75e3 107 105 2013-09-26T04:48:44Z Kondin 1 wikitext text/x-wiki === Маска поля ввода мобильного телефона === Маска задается дополнительным параметром '''mask''' в одном из полей Параметры элемента модели. Если этот параметр не задан, тогжа используется маска по умолчанию <br /> '''h (hhh) hhh-hh-hh'''<br /> где h - обозначает любое число от 0 до 9<br /> Вне зависимости от заданной маски в базе данных телефоны хранятся в виде набора цифр, а все нецифровые элементы из них удаляются. Поэтому стоит помнить, что задаваемая параметром '''mask''' маска, является лишь маской ввода, но не вывода данных на страницы сайта. Для форматирования вывода применяйте функции шаблона либо функции самого движка.<br /> Вы можете задать свою маску путем составления строки с необходимыми вам элементами. Например маска ввода номера сотового для операторов Украины:<br /> '''+38 (0hh) hhh-hh-hh'''<br /> использовав такую маску, вы получите в поле ввода, при его активации шаблон в виде ''+38 (0__) ___-__-__'', который пользователь будет обязан соблюсти. Так же по этой маске будет проверен ввод этого поля и в момент валидации полей модели.<br /> '''Важно:''' Число "9" является оним из вариантов задания позиции маски. Например, указав маску ''7999hhh'' вы получите, вместо ожидаемого шаблона в поле ''7999___'' (три подчеркивания), ''7______'' (шесть подчеркиваний). Это правило работает только для цифры 9, поэтому следует избегать ее применения в масках. 8cc732d31ff6d20098093aeab86568c943a410f6 116 107 2013-10-07T08:11:31Z Kondin 1 wikitext text/x-wiki === Маска поля ввода мобильного телефона === Параметры необходимо прописывать слева название параметра, справа само значение параметра, например, mask = h (hhh) hhh-hh-hh<br /> Маска задается дополнительным параметром '''mask''' в одном из полей Параметры элемента модели. Если этот параметр не задан, тогжа используется маска по умолчанию <br /> '''h (hhh) hhh-hh-hh'''<br /> где h - обозначает любое число от 0 до 9<br /> Вне зависимости от заданной маски в базе данных телефоны хранятся в виде набора цифр, а все нецифровые элементы из них удаляются. Поэтому стоит помнить, что задаваемая параметром '''mask''' маска, является лишь маской ввода, но не вывода данных на страницы сайта. Для форматирования вывода применяйте функции шаблона либо функции самого движка.<br /> Вы можете задать свою маску путем составления строки с необходимыми вам элементами. Например маска ввода номера сотового для операторов Украины:<br /> '''+38 (0hh) hhh-hh-hh'''<br /> использовав такую маску, вы получите в поле ввода, при его активации шаблон в виде ''+38 (0__) ___-__-__'', который пользователь будет обязан соблюсти. Так же по этой маске будет проверен ввод этого поля и в момент валидации полей модели.<br /> '''Важно:''' Число "9" является оним из вариантов задания позиции маски. Например, указав маску ''7999hhh'' вы получите, вместо ожидаемого шаблона в поле ''7999___'' (три подчеркивания), ''7______'' (шесть подчеркиваний). Это правило работает только для цифры 9, поэтому следует избегать ее применения в масках. d4e0f5d8d530bd01045d83c45f0ac04bd900351c Заглавная страница 0 1 106 90 2013-09-25T20:44:43Z Abushyk 2 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 13223c635e125f7c8b14f60079b2c576117ab9ba 115 106 2013-09-29T16:29:46Z Abushyk 2 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 85d0ad6793a3da5a1404c0397361cee76824f35e 117 115 2013-11-07T15:21:50Z Kondin 1 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 15c430a765aea5caa90d80c5df94a70f52c6e5d5 125 117 2013-12-19T16:37:53Z Abushyk 2 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]] [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 52666af44dc1142946a55d797e931314afc99ea3 126 125 2013-12-19T16:38:09Z Abushyk 2 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 32fca9845f509e515a358693637e0fb4a6e3f29a 129 126 2014-01-12T20:24:09Z Abushyk 2 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]] [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 60e2bb52e0a1a57073580e0f3f9c5294ce937a55 130 129 2014-01-12T20:24:47Z Abushyk 2 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 6868561cf3bdafdb11842dc7e23b94ec10bd76b7 131 130 2014-01-20T09:37:31Z Kondin 1 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[mail|Настройка отправки писем с сайта]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 5131b089f93295a172e96d716ab72bf799bf6ed4 134 131 2014-01-23T09:17:46Z Kondin 1 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[mail|Настройка отправки писем с сайта]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Перевод|Перевод контента на другие языки]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 59c98cf39e1d70484e358cf7101865bfa31b31c3 Дополнительные параметры поиска 0 33 108 2013-09-29T16:22:56Z Abushyk 2 Новая страница: «Для добавления дополнительных параметров поиска (кроме тех, что обрабатываются моделью …» wikitext text/x-wiki Для добавления дополнительных параметров поиска (кроме тех, что обрабатываются моделью или стандартным модулем поиска) можно использовать файл локального поиска.<br /> Этот файл должен быть расположен в папке '''/template/frontend/имя_шаблона/main/''' и иметь имя '''template_search.php'''.<br /> Основной код состоит из<br /> ''<?php<br /> class Template_Search extends SiteBill {<br /> public function getParams(){<br /> $params=array();<br /> ....<br /> return $params;<br /> }<br /> public function run(){<br /> $where_array=array();<br /> $params=$this->getParams();<br /> require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php');<br /> $data_model = new Data_Model();<br /> $data_model_array = $data_model->get_kvartira_model(false);<br /> $data_model_array = $data_model_array['data'];<br /> ....<br /> return array(<br /> 'where'=>$where_array,<br /> 'params'=>$params <br /> );<br /> }<br /> }<br />'' Файл, при существовании, автоматически подключается модулем поиска и запускается методом run() Метод Template_Search::getParams() предназначен для сбора переменных запроса, приведения их к необходимому виду и принятия решения о включении параметра в список обрабатываемых. Например: if(''!==$this->getRequestValue('parking')){ $params['parking'] = (int)$this->getRequestValue('parking'); } если не пуста переменная parking, она приводится к целочисельному виду и передается в обработку. Метод Template_Search::run() получает собранные параметры и обрабатывает их явным образом. Иными словами этот метод должен знать, какие параметры ему придется обработать. Например: if(isset($params['parking']) && isset($data_model_array['parking'])){ $where_array[]=DB_PREFIX.'_data.parking='.$params['parking']; } найдя параметр parking метод проверяет присутствует ли в модели такое поле и, если да, формирует часть для раздела WHERE запроса на выборку. С таким же успехом мы мы могли бы передать из формы значение is_parking, но добавить в запрос выборку именно по полю parking. Ответ от метода Template_Search::run() передается в виде массива элементов where - массив частей условий для WHERE запроса и params - массив параметров для формирования пейджера и сортировочных ссылок. Эти результаты будут добавлены к запросу, формируемому модулем поиска. efd5d3a7ddc7aeb860cc9c3ffeadc0537ece7ddf 109 108 2013-09-29T16:23:52Z Abushyk 2 wikitext text/x-wiki Для добавления дополнительных параметров поиска (кроме тех, что обрабатываются моделью или стандартным модулем поиска) можно использовать файл локального поиска.<br /> Этот файл должен быть расположен в папке '''/template/frontend/имя_шаблона/main/''' и иметь имя '''template_search.php'''.<br /> Основной код состоит из<br /> ''<?php<br /> class Template_Search extends SiteBill {<br /> public function getParams(){<br /> $params=array();<br /> ....<br /> return $params;<br /> }<br /> public function run(){<br /> $where_array=array();<br /> $params=$this->getParams();<br /> require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php');<br /> $data_model = new Data_Model();<br /> $data_model_array = $data_model->get_kvartira_model(false);<br /> $data_model_array = $data_model_array['data'];<br /> ....<br /> return array(<br /> 'where'=>$where_array,<br /> 'params'=>$params <br /> );<br /> }<br /> }<br />'' Файл, при существовании, автоматически подключается модулем поиска и запускается методом run() Метод Template_Search::getParams() предназначен для сбора переменных запроса, приведения их к необходимому виду и принятия решения о включении параметра в список обрабатываемых. Например: if(''!==$this->getRequestValue('parking')){ $params['parking'] = (int)$this->getRequestValue('parking'); } если не пуста переменная parking, она приводится к целочисельному виду и передается в обработку. Метод Template_Search::run() получает собранные параметры и обрабатывает их явным образом. Иными словами этот метод должен знать, какие параметры ему придется обработать. Например: if(isset($params['parking']) && isset($data_model_array['parking'])){ $where_array[]=DB_PREFIX.'_data.parking='.$params['parking']; } найдя параметр parking метод проверяет присутствует ли в модели такое поле и, если да, формирует часть для раздела WHERE запроса на выборку. С таким же успехом мы мы могли бы передать из формы значение is_parking, но добавить в запрос выборку именно по полю parking. Ответ от метода Template_Search::run() передается в виде массива элементов where - массив частей условий для WHERE запроса и params - массив параметров для формирования пейджера и сортировочных ссылок. Эти результаты будут добавлены к запросу, формируемому модулем поиска. d619f6f950cfd3732e2059f6dc408a7dc9663e7b 110 109 2013-09-29T16:24:26Z Abushyk 2 wikitext text/x-wiki Для добавления дополнительных параметров поиска (кроме тех, что обрабатываются моделью или стандартным модулем поиска) можно использовать файл локального поиска.<br /> Этот файл должен быть расположен в папке '''/template/frontend/имя_шаблона/main/''' и иметь имя '''template_search.php'''.<br /> Основной код состоит из<br /> '' <?php<br /> class Template_Search extends SiteBill {<br /> public function getParams(){<br /> $params=array();<br /> ....<br /> return $params;<br /> }<br /> public function run(){<br /> $where_array=array();<br /> $params=$this->getParams();<br /> require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php');<br /> $data_model = new Data_Model();<br /> $data_model_array = $data_model->get_kvartira_model(false);<br /> $data_model_array = $data_model_array['data'];<br /> ....<br /> return array(<br /> 'where'=>$where_array,<br /> 'params'=>$params <br /> );<br /> }<br /> }<br /> '' Файл, при существовании, автоматически подключается модулем поиска и запускается методом run() Метод Template_Search::getParams() предназначен для сбора переменных запроса, приведения их к необходимому виду и принятия решения о включении параметра в список обрабатываемых. Например: if(''!==$this->getRequestValue('parking')){ $params['parking'] = (int)$this->getRequestValue('parking'); } если не пуста переменная parking, она приводится к целочисельному виду и передается в обработку. Метод Template_Search::run() получает собранные параметры и обрабатывает их явным образом. Иными словами этот метод должен знать, какие параметры ему придется обработать. Например: if(isset($params['parking']) && isset($data_model_array['parking'])){ $where_array[]=DB_PREFIX.'_data.parking='.$params['parking']; } найдя параметр parking метод проверяет присутствует ли в модели такое поле и, если да, формирует часть для раздела WHERE запроса на выборку. С таким же успехом мы мы могли бы передать из формы значение is_parking, но добавить в запрос выборку именно по полю parking. Ответ от метода Template_Search::run() передается в виде массива элементов where - массив частей условий для WHERE запроса и params - массив параметров для формирования пейджера и сортировочных ссылок. Эти результаты будут добавлены к запросу, формируемому модулем поиска. bcd575081a86354977794ec5bea875262899482c 111 110 2013-09-29T16:25:14Z Abushyk 2 wikitext text/x-wiki Для добавления дополнительных параметров поиска (кроме тех, что обрабатываются моделью или стандартным модулем поиска) можно использовать файл локального поиска.<br /> Этот файл должен быть расположен в папке '''/template/frontend/имя_шаблона/main/''' и иметь имя '''template_search.php'''.<br /> Основной код состоит из<br /> '' <?php class Template_Search extends SiteBill {<br /> public function getParams(){<br /> $params=array();<br /> ....<br /> return $params;<br /> }<br /> public function run(){<br /> $where_array=array();<br /> $params=$this->getParams();<br /> require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php');<br /> $data_model = new Data_Model();<br /> $data_model_array = $data_model->get_kvartira_model(false);<br /> $data_model_array = $data_model_array['data'];<br /> ....<br /> return array(<br /> 'where'=>$where_array,<br /> 'params'=>$params <br /> );<br /> }<br /> }<br /> ?> '' Файл, при существовании, автоматически подключается модулем поиска и запускается методом run() Метод Template_Search::getParams() предназначен для сбора переменных запроса, приведения их к необходимому виду и принятия решения о включении параметра в список обрабатываемых. Например: if(''!==$this->getRequestValue('parking')){ $params['parking'] = (int)$this->getRequestValue('parking'); } если не пуста переменная parking, она приводится к целочисельному виду и передается в обработку. Метод Template_Search::run() получает собранные параметры и обрабатывает их явным образом. Иными словами этот метод должен знать, какие параметры ему придется обработать. Например: if(isset($params['parking']) && isset($data_model_array['parking'])){ $where_array[]=DB_PREFIX.'_data.parking='.$params['parking']; } найдя параметр parking метод проверяет присутствует ли в модели такое поле и, если да, формирует часть для раздела WHERE запроса на выборку. С таким же успехом мы мы могли бы передать из формы значение is_parking, но добавить в запрос выборку именно по полю parking. Ответ от метода Template_Search::run() передается в виде массива элементов where - массив частей условий для WHERE запроса и params - массив параметров для формирования пейджера и сортировочных ссылок. Эти результаты будут добавлены к запросу, формируемому модулем поиска. 469bc8584074cd778dc888ad9790c7f8a291b76a 112 111 2013-09-29T16:25:50Z Abushyk 2 wikitext text/x-wiki Для добавления дополнительных параметров поиска (кроме тех, что обрабатываются моделью или стандартным модулем поиска) можно использовать файл локального поиска.<br /> Этот файл должен быть расположен в папке '''/template/frontend/имя_шаблона/main/''' и иметь имя '''template_search.php'''.<br /> Основной код состоит из<br /> <pre> <?php class Template_Search extends SiteBill {<br /> public function getParams(){<br /> $params=array();<br /> ....<br /> return $params;<br /> }<br /> public function run(){<br /> $where_array=array();<br /> $params=$this->getParams();<br /> require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php');<br /> $data_model = new Data_Model();<br /> $data_model_array = $data_model->get_kvartira_model(false);<br /> $data_model_array = $data_model_array['data'];<br /> ....<br /> return array(<br /> 'where'=>$where_array,<br /> 'params'=>$params <br /> );<br /> }<br /> }<br /> ?> </pre> '' Файл, при существовании, автоматически подключается модулем поиска и запускается методом run() Метод Template_Search::getParams() предназначен для сбора переменных запроса, приведения их к необходимому виду и принятия решения о включении параметра в список обрабатываемых. Например: if(''!==$this->getRequestValue('parking')){ $params['parking'] = (int)$this->getRequestValue('parking'); } если не пуста переменная parking, она приводится к целочисельному виду и передается в обработку. Метод Template_Search::run() получает собранные параметры и обрабатывает их явным образом. Иными словами этот метод должен знать, какие параметры ему придется обработать. Например: if(isset($params['parking']) && isset($data_model_array['parking'])){ $where_array[]=DB_PREFIX.'_data.parking='.$params['parking']; } найдя параметр parking метод проверяет присутствует ли в модели такое поле и, если да, формирует часть для раздела WHERE запроса на выборку. С таким же успехом мы мы могли бы передать из формы значение is_parking, но добавить в запрос выборку именно по полю parking. Ответ от метода Template_Search::run() передается в виде массива элементов where - массив частей условий для WHERE запроса и params - массив параметров для формирования пейджера и сортировочных ссылок. Эти результаты будут добавлены к запросу, формируемому модулем поиска. 4dee4c500f4c6ed219fd5ecc43998bbf4866f6df 113 112 2013-09-29T16:26:36Z Abushyk 2 wikitext text/x-wiki Для добавления дополнительных параметров поиска (кроме тех, что обрабатываются моделью или стандартным модулем поиска) можно использовать файл локального поиска.<br /> Этот файл должен быть расположен в папке '''/template/frontend/имя_шаблона/main/''' и иметь имя '''template_search.php'''.<br /> Основной код состоит из<br /> <pre> <?php class Template_Search extends SiteBill { public function getParams(){ $params=array(); .... return $params; } public function run(){ $where_array=array(); $params=$this->getParams(); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php'); $data_model = new Data_Model(); $data_model_array = $data_model->get_kvartira_model(false); $data_model_array = $data_model_array['data']; .... return array( 'where'=>$where_array, 'params'=>$params ); } } </pre> Файл, при существовании, автоматически подключается модулем поиска и запускается методом run() Метод Template_Search::getParams() предназначен для сбора переменных запроса, приведения их к необходимому виду и принятия решения о включении параметра в список обрабатываемых. Например: if(''!==$this->getRequestValue('parking')){ $params['parking'] = (int)$this->getRequestValue('parking'); } если не пуста переменная parking, она приводится к целочисельному виду и передается в обработку. Метод Template_Search::run() получает собранные параметры и обрабатывает их явным образом. Иными словами этот метод должен знать, какие параметры ему придется обработать. Например: if(isset($params['parking']) && isset($data_model_array['parking'])){ $where_array[]=DB_PREFIX.'_data.parking='.$params['parking']; } найдя параметр parking метод проверяет присутствует ли в модели такое поле и, если да, формирует часть для раздела WHERE запроса на выборку. С таким же успехом мы мы могли бы передать из формы значение is_parking, но добавить в запрос выборку именно по полю parking. Ответ от метода Template_Search::run() передается в виде массива элементов where - массив частей условий для WHERE запроса и params - массив параметров для формирования пейджера и сортировочных ссылок. Эти результаты будут добавлены к запросу, формируемому модулем поиска. 45b4aa60a24217b4b74dc2b40cd7cf1e1fca0b06 114 113 2013-09-29T16:27:30Z Abushyk 2 wikitext text/x-wiki Для добавления дополнительных параметров поиска (кроме тех, что обрабатываются моделью или стандартным модулем поиска) можно использовать файл локального поиска.<br /> Этот файл должен быть расположен в папке '''/template/frontend/имя_шаблона/main/''' и иметь имя '''template_search.php'''.<br /> Основной код состоит из<br /> <pre> <?php class Template_Search extends SiteBill { public function getParams(){ $params=array(); .... return $params; } public function run(){ $where_array=array(); $params=$this->getParams(); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php'); $data_model = new Data_Model(); $data_model_array = $data_model->get_kvartira_model(false); $data_model_array = $data_model_array['data']; .... return array( 'where'=>$where_array, 'params'=>$params ); } } </pre> Файл, при существовании, автоматически подключается модулем поиска и запускается методом run() Метод '''Template_Search::getParams()''' предназначен для сбора переменных запроса, приведения их к необходимому виду и принятия решения о включении параметра в список обрабатываемых. Например: <pre> if(''!==$this->getRequestValue('parking')){ $params['parking'] = (int)$this->getRequestValue('parking'); } </pre> если не пуста переменная parking, она приводится к целочисельному виду и передается в обработку. Метод '''Template_Search::run()''' получает собранные параметры и обрабатывает их явным образом. Иными словами этот метод должен знать, какие параметры ему придется обработать. Например: <pre> if(isset($params['parking']) && isset($data_model_array['parking'])){ $where_array[]=DB_PREFIX.'_data.parking='.$params['parking']; } </pre> найдя параметр parking метод проверяет присутствует ли в модели такое поле и, если да, формирует часть для раздела WHERE запроса на выборку.<br /> С таким же успехом мы мы могли бы передать из формы значение is_parking, но добавить в запрос выборку именно по полю parking.<br /> Ответ от метода '''Template_Search::run()''' передается в виде массива элементов where - массив частей условий для WHERE запроса и params - массив параметров для формирования пейджера и сортировочных ссылок.<br /> Эти результаты будут добавлены к запросу, формируемому модулем поиска. 98ccde158b1b9ef03bd983a852302ecba4c224e4 Установка новых шаблонов 0 34 118 2013-11-07T15:26:48Z Kondin 1 Новая страница: «Рассмотрим установку шаблона на примере realty. После скачивания шаблона из личного кабине…» wikitext text/x-wiki Рассмотрим установку шаблона на примере realty. После скачивания шаблона из личного кабинета в пункте Услуги -> Шаблоны CMS Sitebill - Realty -> Просмотреть данные -> Загрузки Вы получите архив realty.zip. Его необходимо распаковать и загрузить по FTP в каталог на сайте /template/frontend/, у вас должен получиться каталог /template/frontend/realty/ - внутри этого каталога должны располагаться все файлы шаблона. Обратите внимание, что файлы должны быть доступны для чтения веб-сервером, иначе некоторые элементы не будут правильно отображаться. Для этого нужно рекурсивно установить права на весь каталоги все файлы с подкаталогами = 755. Затем переходите в панель управления и в настройках в поле Тема оформления (theme) указываете значение realty. И тип меню нужно выбрать megamenu. Сохраните настройки. Теперь сайт будет отображаться с новым шаблоном. b4be0c6be0262e7c78d6cf0d6890d0acb6db5526 119 118 2013-11-07T15:27:12Z Kondin 1 wikitext text/x-wiki Рассмотрим установку шаблона на примере realty.<br /> После скачивания шаблона из личного кабинета в пункте Услуги -> Шаблоны CMS Sitebill - Realty -> Просмотреть данные -> Загрузки<br /> Вы получите архив realty.zip. Его необходимо распаковать и загрузить по FTP в каталог на сайте /template/frontend/, у вас должен получиться каталог /template/frontend/realty/ - внутри этого каталога должны располагаться все файлы шаблона.<br /> Обратите внимание, что файлы должны быть доступны для чтения веб-сервером, иначе некоторые элементы не будут правильно отображаться. Для этого нужно рекурсивно установить права на весь каталоги все файлы с подкаталогами = 755.<br /> Затем переходите в панель управления и в настройках в поле Тема оформления (theme) указываете значение realty. И тип меню нужно выбрать megamenu. Сохраните настройки. Теперь сайт будет отображаться с новым шаблоном. 098ca1c49372b84a6e588c8a1c2cabd366b90fe6 Как создать пользовательскую форму заявки 0 35 120 2013-12-19T16:30:38Z Abushyk 2 Новая страница: «Необходимо создать пользовательскую форму заявки для того, что бы пользователь мог пере…» wikitext text/x-wiki Необходимо создать пользовательскую форму заявки для того, что бы пользователь мог передать некоторые данные на обработку администратору. Ингридиенты: приложение Клиенты (версия 1.0.1) приложение Статические страницы (версия 1.1.1) 1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet. 2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно. 3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей. 4. Для формы заявки есть три служебных поля. Это: fio (Ваше имя) - safe_string поле email (Email) - safe_string поле phone (телефон) - safe_string поле Эти поля нужны для ведения учета заявок, поэтому даже если вы не зададите их сами в своей модели заявки, они будут добавлены автоматически. 5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок. Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на рассчет} 6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент raschet - имя модели вашей формы заявки Вывод в браузер будет содержать только форму заявки. 7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделишейформы, т.е. в данном случае client_order_raschet.tpl Этот файл должен содерать, в обязательном порядке, {$form} Все остальное на ваше усмотрение. Например: <h1>Тут мой заголовок к заявке</h1> <p>Тут какой-то текст перед формой</p> {$form} <hr /> <p>Тут какой-то текст под горизонталью под формой</p> 5691fbe6adfa69b3642488c8e9d4c31323214929 121 120 2013-12-19T16:31:05Z Abushyk 2 wikitext text/x-wiki Необходимо создать пользовательскую форму заявки для того, что бы пользователь мог передать некоторые данные на обработку администратору. Ингридиенты: приложение Клиенты (версия 1.0.1) приложение Статические страницы (версия 1.1.1) 1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet. 2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно. 3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей. 4. Для формы заявки есть три служебных поля. Это: fio (Ваше имя) - safe_string поле email (Email) - safe_string поле phone (телефон) - safe_string поле Эти поля нужны для ведения учета заявок, поэтому даже если вы не зададите их сами в своей модели заявки, они будут добавлены автоматически. 5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок. Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на рассчет} 6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент raschet - имя модели вашей формы заявки Вывод в браузер будет содержать только форму заявки. 7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделишейформы, т.е. в данном случае client_order_raschet.tpl Этот файл должен содерать, в обязательном порядке, {$form} Все остальное на ваше усмотрение. Например: <pre> <h1>Тут мой заголовок к заявке</h1> <p>Тут какой-то текст перед формой</p> {$form} <hr /> <p>Тут какой-то текст под горизонталью под формой</p> </pre> d1fc1041fb950ffe09bf3bdb4449352df5421cc0 122 121 2013-12-19T16:31:41Z Abushyk 2 wikitext text/x-wiki Необходимо создать пользовательскую форму заявки для того, что бы пользователь мог передать некоторые данные на обработку администратору. Ингридиенты: приложение Клиенты (версия 1.0.1) приложение Статические страницы (версия 1.1.1) 1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet. 2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно. 3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей. 4. Для формы заявки есть три служебных поля. Это: fio (Ваше имя) - safe_string поле email (Email) - safe_string поле phone (телефон) - safe_string поле Эти поля нужны для ведения учета заявок, поэтому даже если вы не зададите их сами в своей модели заявки, они будут добавлены автоматически. 5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок. Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на рассчет} 6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент raschet - имя модели вашей формы заявки Вывод в браузер будет содержать только форму заявки. 7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделивашейформы, т.е. в данном случае client_order_raschet.tpl Этот файл должен содержать, в обязательном порядке, <pre> {$form} </pre> Все остальное на ваше усмотрение. Например: <pre> <h1>Тут мой заголовок к заявке</h1> <p>Тут какой-то текст перед формой</p> {$form} <hr /> <p>Тут какой-то текст под горизонталью под формой</p> </pre> 43b39aa286b84a8ebccf69da1b9cc6009520ec6e 123 122 2013-12-19T16:35:27Z Abushyk 2 wikitext text/x-wiki Необходимо создать пользовательскую форму заявки для того, что бы пользователь мог передать некоторые данные на обработку администратору. Ингридиенты: приложение Клиенты (версия 1.0.1) приложение Статические страницы (версия 1.1.1) 1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet.<br /> 2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно.<br /> 3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей.<br /> 4. Для формы заявки есть три служебных поля. Это:<br /> fio (Ваше имя) - safe_string поле<br /> email (Email) - safe_string поле<br /> phone (телефон) - safe_string поле<br /> Эти поля нужны для ведения учета заявок, поэтому даже если вы не зададите их сами в своей модели заявки, они будут добавлены автоматически.<br /> 5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок.<br /> Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на расчет}<br /> 6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где<br /> client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент raschet - имя модели вашей формы заявки<br /> Вывод в браузер будет содержать только форму заявки.<br /> 7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделивашейформы, т.е. в данном случае client_order_raschet.tpl<br /> Этот файл должен содержать, в обязательном порядке,<br /> <pre> {$form} </pre> Все остальное на ваше усмотрение. Например: <pre> <h1>Тут мой заголовок к заявке</h1> <p>Тут какой-то текст перед формой</p> {$form} <hr /> <p>Тут какой-то текст под горизонталью под формой</p> </pre> 8. Добавляем мета-информацию.<br /> Для присоединения к вашей форме некоторой мета-информации используем приложение Статические страницы. Создаем статическую страницу с полем URI client_order_имямоделивашейформы или же client_order_raschet<br /> Для этой страницы указываем ту мета-информацию, которую хотим увидеть вместе с нашей формой заявки и сохраняем. 23e816e935cfad5f3b1947ea0b50513e0de2116c 124 123 2013-12-19T16:36:23Z Abushyk 2 wikitext text/x-wiki Необходимо создать пользовательскую форму заявки для того, что бы пользователь мог передать некоторые данные на обработку администратору. '''Ингридиенты:'''<br /> приложение Клиенты (версия 1.0.1)<br /> приложение Статические страницы (версия 1.1.1)<br /> 1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet.<br /><br /> 2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно.<br /><br /> 3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей.<br /><br /> 4. Для формы заявки есть три служебных поля. Это:<br /> fio (Ваше имя) - safe_string поле<br /> email (Email) - safe_string поле<br /> phone (телефон) - safe_string поле<br /> Эти поля нужны для ведения учета заявок, поэтому даже если вы не зададите их сами в своей модели заявки, они будут добавлены автоматически.<br /><br /> 5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок.<br /> Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на расчет}<br /><br /> 6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где<br /> client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент raschet - имя модели вашей формы заявки<br /> Вывод в браузер будет содержать только форму заявки.<br /><br /> 7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделивашейформы, т.е. в данном случае client_order_raschet.tpl<br /> Этот файл должен содержать, в обязательном порядке,<br /> <pre> {$form} </pre> Все остальное на ваше усмотрение. Например: <pre> <h1>Тут мой заголовок к заявке</h1> <p>Тут какой-то текст перед формой</p> {$form} <hr /> <p>Тут какой-то текст под горизонталью под формой</p> </pre> <br /> 8. Добавляем мета-информацию.<br /> Для присоединения к вашей форме некоторой мета-информации используем приложение Статические страницы. Создаем статическую страницу с полем URI client_order_имямоделивашейформы или же client_order_raschet<br /> Для этой страницы указываем ту мета-информацию, которую хотим увидеть вместе с нашей формой заявки и сохраняем. d4daa779b05cd2279a7489d64122b4ac9e389f89 Правила валидации для элементов модели 0 36 127 2014-01-12T20:15:24Z Abushyk 2 Новая страница: «Элементы модели поддерживают указание дополнительного параметра валидации для значени…» wikitext text/x-wiki Элементы модели поддерживают указание дополнительного параметра валидации для значения. Правила задаются в форме редактирования поля модели в разделе Параметры. Для создания набора правил валидации необходимо в Параметрах дjбавить параметр с именем rules а в качестве его значения указать строку, содержащую правила.<br /> <br /> Например строка правил может представлять собой следующее NotBlank,Type:string,Email,MinLength:4<br /> Принципиально различаются три типа валидируемых значений string - cтрока (является дефолтной. Если тип величины не задан явно, будет считаться, что имелась в виду строка), int - целое знаковое число, decimal - дробное число с точкои или запятолй в виде разделителя.<br /> Правила общие для всех трех типов<br /> NotBlank - значение не должно быть пустым. В некоторой мере дублирует свойство поля модели Обязательное (required)<br /> Правила для строк<br /> Email - строка должна соответствовать адресу электронной почты. Дублирует тип поля модели email<br /> MinLength - минимальная длинна строки. Указывается в виде '''MinLength:5'''<br /> MaxLength - максимальная длинна строки. Указывается в виде '''MaxLength:54'''<br /> <br /> Правила для целых чисел и для дробных<br /> Min - минимальное значение. Указывается в виде '''Min:5'''<br /> Max - максимальное значение. Указывается в виде '''Max:100'''<br /> <br /> Пример<br /> Правило для поля Площади кухни Type:int,Min:3,Max:100<br /> мы требуем целое положительное число в диапазоне от 3 до 100.<br /> <br /> Правило для поля Ставки на аукционе Type:int,Min:0,Max:20000<br /> мы требуем целое положительное число до 20 000.<br /> <br /> Правило для поля Пароль MinLength:6,MaxLength:32 <br /> Необходима строка от 6 до 32 символов.<br /> <br /> Правила записываются в одну строку без пробелов. Отделяются друг от друга запятой. Простые правила, как Email, NotBlank записываются в виде своего имени. Правила, которые требуют аргумент, как Min\Max, записываются с аргументом через двоеточие. add9606983a74738a32a80281e7cc68cb85c6a89 128 127 2014-01-12T20:16:32Z Abushyk 2 wikitext text/x-wiki Элементы модели поддерживают указание дополнительного параметра валидации для значения. Правила задаются в форме редактирования поля модели в разделе Параметры. Для создания набора правил валидации необходимо в Параметрах дjбавить параметр с именем rules а в качестве его значения указать строку, содержащую правила.<br /> <br /> Например строка правил может представлять собой следующее NotBlank,Type:string,Email,MinLength:4<br /> Принципиально различаются три типа валидируемых значений string - cтрока (является дефолтной. Если тип величины не задан явно, будет считаться, что имелась в виду строка), int - целое знаковое число, decimal - дробное число с точкои или запятолй в виде разделителя.<br /> '''Правила общие для всех трех типов'''<br /> NotBlank - значение не должно быть пустым. В некоторой мере дублирует свойство поля модели Обязательное (required)<br /> '''Правила для строк'''<br /> Email - строка должна соответствовать адресу электронной почты. Дублирует тип поля модели email<br /> MinLength - минимальная длинна строки. Указывается в виде '''MinLength:5'''<br /> MaxLength - максимальная длинна строки. Указывается в виде '''MaxLength:54'''<br /> <br /> '''Правила для целых чисел и для дробных'''<br /> Min - минимальное значение. Указывается в виде '''Min:5'''<br /> Max - максимальное значение. Указывается в виде '''Max:100'''<br /> <br /> '''Примеры'''<br /> ''Правило для поля Площади кухни Type:int,Min:3,Max:100''<br /> мы требуем целое положительное число в диапазоне от 3 до 100.<br /> <br /> ''Правило для поля Ставки на аукционе Type:int,Min:0,Max:20000''<br /> мы требуем целое положительное число до 20 000.<br /> <br /> ''Правило для поля Пароль MinLength:6,MaxLength:32'' <br /> Необходима строка от 6 до 32 символов.<br /> <br /> Правила записываются в одну строку без пробелов. Отделяются друг от друга запятой. Простые правила, как Email, NotBlank записываются в виде своего имени. Правила, которые требуют аргумент, как Min\Max, записываются с аргументом через двоеточие. c36c00b47bb05cd51e94b1c00dfcc3f74cca08ab 145 128 2014-04-07T18:28:52Z Abushyk 2 wikitext text/x-wiki Элементы модели поддерживают указание дополнительного параметра валидации для значения. Правила задаются в форме редактирования поля модели в разделе Параметры. Для создания набора правил валидации необходимо в Параметрах дjбавить параметр с именем rules а в качестве его значения указать строку, содержащую правила.<br /> <br /> Например строка правил может представлять собой следующее NotBlank,Type:string,Email,MinLength:4<br /> Принципиально различаются три типа валидируемых значений string - cтрока (является дефолтной. Если тип величины не задан явно, будет считаться, что имелась в виду строка), int - целое знаковое число, decimal - дробное число с точкои в виде разделителя.<br /> '''Правила общие для всех трех типов'''<br /> NotBlank - значение не должно быть пустым. В некоторой мере дублирует свойство поля модели Обязательное (required)<br /> '''Правила для строк'''<br /> Email - строка должна соответствовать адресу электронной почты. Дублирует тип поля модели email<br /> MinLength - минимальная длинна строки. Указывается в виде '''MinLength:5'''<br /> MaxLength - максимальная длинна строки. Указывается в виде '''MaxLength:54'''<br /> <br /> '''Правила для целых чисел и для дробных'''<br /> Min - минимальное значение. Указывается в виде '''Min:5'''<br /> Max - максимальное значение. Указывается в виде '''Max:100'''<br /> <br /> '''Примеры'''<br /> ''Правило для поля Площади кухни Type:int,Min:3,Max:100''<br /> мы требуем целое положительное число в диапазоне от 3 до 100.<br /> <br /> ''Правило для поля Ставки на аукционе Type:int,Min:0,Max:20000''<br /> мы требуем целое положительное число до 20 000.<br /> <br /> ''Правило для поля Пароль MinLength:6,MaxLength:32'' <br /> Необходима строка от 6 до 32 символов.<br /> <br /> Правила записываются в одну строку без пробелов. Отделяются друг от друга запятой. Простые правила, как Email, NotBlank записываются в виде своего имени. Правила, которые требуют аргумент, как Min\Max, записываются с аргументом через двоеточие. df4fb909a69950d6e1ff22bf33113d2e28afac03 Mail 0 37 132 2014-01-20T09:47:18Z Kondin 1 Новая страница: «Для того чтобы с сайта успешно отправлялись почтовые сообщения, они должны удовлетворят…» wikitext text/x-wiki Для того чтобы с сайта успешно отправлялись почтовые сообщения, они должны удовлетворять требования и не быть похожими на спам. Т.е. необходимо чтобы поле «От кого» содержало реальный адрес и соответствовало адресу сайта. Например, если ваш сайт называется arenda-kvartir.ru, тогда поле «От кого» должно иметь вид info@arenda-kvartir.ru. Часть info – может быть любой, главное чтобы ваш почтовый сервер отвечал на запрос других почтовых серверов, что этот почтовый ящик существует. Поэтому в панели управления своего хостинга вам нужно создать этот почтовый ящик. Вместо info может быть no-reply, manager, admin, все что будет понятно тем, кому приходят эти письма.<br /> Адрес info@arenda-kvartir.ru нужно вписать в конфиге в поле 86880a4ae47276250289846798341b1ebb1f0ed1 133 132 2014-01-20T09:55:00Z Kondin 1 wikitext text/x-wiki Для того чтобы с сайта успешно отправлялись почтовые сообщения, они должны удовлетворять требования и не быть похожими на спам. Т.е. необходимо чтобы поле «От кого» содержало реальный адрес и соответствовало адресу сайта. Например, если ваш сайт называется '''arenda-kvartir.ru''', тогда поле «От кого» должно иметь вид '''info@arenda-kvartir.ru'''. Часть info – может быть любой, главное чтобы ваш почтовый сервер отвечал на запрос других почтовых серверов, что этот почтовый ящик существует. Поэтому в панели управления своего хостинга вам нужно создать этот почтовый ящик. Вместо info может быть no-reply, manager, admin, все что будет понятно тем, кому приходят эти письма.<br /> Адрес '''info@arenda-kvartir.ru''' нужно вписать в конфиге в поле '''system_email''' 396bbc5add8d769beb75165669f90ce09a2eafb9 Перевод 0 38 135 2014-01-23T09:23:00Z Kondin 1 Новая страница: «Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить со…» wikitext text/x-wiki Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка. Например, нужно сделать перевод для поля text (описание) на английский язык (en). Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en. В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en. Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en. Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. a407cad3404fea07f688aca3cbc75f66caba2f99 136 135 2014-01-23T09:25:48Z Kondin 1 wikitext text/x-wiki Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.<br /> Например, нужно сделать перевод для поля text (описание) на английский язык (en).<br /> Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.<br /> В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.<br /> Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br /> Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. 00a27324ebd7947a1650ba20aa92fdfdd7478002 Пример задачи с использованием прав доступа 0 30 137 97 2014-02-06T04:38:52Z Kondin 1 wikitext text/x-wiki Предположим, что нам нужно создать компонент – user_account (он будет определять у нас набор функций для личного кабинета пользователя). Причем для группы риэлторов (realtor) будет доступны функции добавления объявления (add_adv), удаления объявления (remove_adv). <br /> А для группы директор агентства (director) будут доступны все функции риэлтора, но еще дополнительно функция создания и удаления новых риэлторов (add_user, remove_user) <br /> Для этого нам потребуется создать функции: add_adv, remove_adv, add_user, remove_user. Создать компонент user_account и добавить в него вышеперечисленные функции. <br /> Создать группы пользователей realtor, director. <br /> Затем зайти в структуру прав доступа группы и назначить галочками доступы к соответствующим функциям. <br /> Группа Функции <br /> director add_adv, remove_adv, add_user, remove_user <br /> Realtor add_adv, remove_adv <br /> Таким образом мы построили матрицу прав доступа. <br /> Чтобы воспользоваться такой матрицей в программном коде, нам нужно вызвать функцию проверки прав доступа из класса Permission. <br /> $this->permission = new Permission(); <br /> if ( $this->permission->get_access($user_id, 'user_account', 'add_user') ) { <br /> //тут код который разрешен для выполнения этому пользователю <br /> } <br /> Также можно использовать объект Permission в самом шаблоне Smarty.<br> Для этого в файле /template/frontend/agency/main.php добавляем строки:<br> require_once (SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/permission/permission.php');<br> $permission = new Permission();<br> $smarty->assign('permission', $permission);<br> <br> Теперь в самом шаблоне можно обращаться к этому объекту и определять права доступа, например мы можем открыть или закрыть пункты меню у пользователя.<br> Берем файл user_menu.tpl и добавляем эту проверку<br> <div class="btn-group"> <a class="btn btn-success btn-small dropdown-toggle" data-toggle="dropdown" href="#"> {$fio} <span class="caret"></span> </a> <ul class="dropdown-menu"> <li><a href="{$estate_folder}/account/mywatchlists/" >Мои доступы</a></li> {if $permission->get_access($smarty.session.user_id, 'user_account', 'data_manager')} <li><a href="{$estate_folder}/account/data/?do=new">{$L_ADD_ADV}</a></li> <li><a href="{$estate_folder}/account/data/" >{$L_MY_ADVS}</a></li> {/if} <li><a href="{$estate_folder}/account/profile/" >{$L_MY_PROFILE}</a></li> <li><a href="{$estate_folder}/logout/" class="logout">{$L_LOGOUT_BUTTON}</a></li> </ul> </div> 3f7afb014d78dda7003a3beb6ba929a9c5656b56 138 137 2014-02-06T04:39:50Z Kondin 1 wikitext text/x-wiki Предположим, что нам нужно создать компонент – user_account (он будет определять у нас набор функций для личного кабинета пользователя). Причем для группы риэлторов (realtor) будет доступны функции добавления объявления (add_adv), удаления объявления (remove_adv). <br /> А для группы директор агентства (director) будут доступны все функции риэлтора, но еще дополнительно функция создания и удаления новых риэлторов (add_user, remove_user) <br /> Для этого нам потребуется создать функции: add_adv, remove_adv, add_user, remove_user. Создать компонент user_account и добавить в него вышеперечисленные функции. <br /> Создать группы пользователей realtor, director. <br /> Затем зайти в структуру прав доступа группы и назначить галочками доступы к соответствующим функциям. <br /> Группа Функции <br /> director add_adv, remove_adv, add_user, remove_user <br /> Realtor add_adv, remove_adv <br /> Таким образом мы построили матрицу прав доступа. <br /> Чтобы воспользоваться такой матрицей в программном коде, нам нужно вызвать функцию проверки прав доступа из класса Permission. <br /> $this->permission = new Permission(); <br /> if ( $this->permission->get_access($user_id, 'user_account', 'add_user') ) { <br /> //тут код который разрешен для выполнения этому пользователю <br /> } <br /> Также можно использовать объект Permission в самом шаблоне Smarty.<br> Для этого в файле /template/frontend/agency/main.php добавляем строки:<br> require_once (SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/permission/permission.php');<br> $permission = new Permission();<br> $smarty->assign('permission', $permission);<br> <br> Теперь в самом шаблоне можно обращаться к этому объекту и определять права доступа, например мы можем открыть или закрыть пункты меню у пользователя.<br> Берем файл user_menu.tpl и добавляем эту проверку<br> <li><a href="{$estate_folder}/account/mywatchlists/" >Мои доступы</a></li> {if $permission->get_access($smarty.session.user_id, 'user_account', 'data_manager')} <li><a href="{$estate_folder}/account/data/?do=new">{$L_ADD_ADV}</a></li> <li><a href="{$estate_folder}/account/data/" >{$L_MY_ADVS}</a></li> {/if} <li><a href="{$estate_folder}/account/profile/" >{$L_MY_PROFILE}</a></li> <li><a href="{$estate_folder}/logout/" class="logout">{$L_LOGOUT_BUTTON}</a></li> bc1be939a33d5627431402c4e7ea98c4690757bc 139 138 2014-02-06T04:41:19Z Kondin 1 wikitext text/x-wiki Предположим, что нам нужно создать компонент – user_account (он будет определять у нас набор функций для личного кабинета пользователя). Причем для группы риэлторов (realtor) будет доступны функции добавления объявления (add_adv), удаления объявления (remove_adv). <br /> А для группы директор агентства (director) будут доступны все функции риэлтора, но еще дополнительно функция создания и удаления новых риэлторов (add_user, remove_user) <br /> Для этого нам потребуется создать функции: add_adv, remove_adv, add_user, remove_user. Создать компонент user_account и добавить в него вышеперечисленные функции. <br /> Создать группы пользователей realtor, director. <br /> Затем зайти в структуру прав доступа группы и назначить галочками доступы к соответствующим функциям. <br /> Группа Функции <br /> director add_adv, remove_adv, add_user, remove_user <br /> Realtor add_adv, remove_adv <br /> Таким образом мы построили матрицу прав доступа. <br /> Чтобы воспользоваться такой матрицей в программном коде, нам нужно вызвать функцию проверки прав доступа из класса Permission. <br /> $this->permission = new Permission(); <br /> if ( $this->permission->get_access($user_id, 'user_account', 'add_user') ) { <br /> //тут код который разрешен для выполнения этому пользователю <br /> } <br /> Также можно использовать объект Permission в самом шаблоне Smarty.<br> Для этого в файле /template/frontend/agency/main.php добавляем строки:<br> require_once (SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/permission/permission.php');<br> $permission = new Permission();<br> $smarty->assign('permission', $permission);<br> <br> Теперь в самом шаблоне можно обращаться к этому объекту и определять права доступа, например мы можем открыть или закрыть пункты меню у пользователя.<br> Берем файл user_menu.tpl и добавляем эту проверку<br> <nowiki><div class="btn-group"> <a class="btn btn-success btn-small dropdown-toggle" data-toggle="dropdown" href="#"> {$fio} <span class="caret"></span> </a> <ul class="dropdown-menu"> {if $permission->get_access($smarty.session.user_id, 'user_account', 'data_manager')} <li><a href="{$estate_folder}/account/data/?do=new">{$L_ADD_ADV}</a></li> <li><a href="{$estate_folder}/account/data/" >{$L_MY_ADVS}</a></li> {/if} <li><a href="{$estate_folder}/account/profile/" >{$L_MY_PROFILE}</a></li> <li><a href="{$estate_folder}/logout/" class="logout">{$L_LOGOUT_BUTTON}</a></li> </ul> </div></nowiki> 3a7d62d91d29d384569f614b092be51958c9b4c9 140 139 2014-02-06T04:41:50Z Kondin 1 wikitext text/x-wiki Предположим, что нам нужно создать компонент – user_account (он будет определять у нас набор функций для личного кабинета пользователя). Причем для группы риэлторов (realtor) будет доступны функции добавления объявления (add_adv), удаления объявления (remove_adv). <br /> А для группы директор агентства (director) будут доступны все функции риэлтора, но еще дополнительно функция создания и удаления новых риэлторов (add_user, remove_user) <br /> Для этого нам потребуется создать функции: add_adv, remove_adv, add_user, remove_user. Создать компонент user_account и добавить в него вышеперечисленные функции. <br /> Создать группы пользователей realtor, director. <br /> Затем зайти в структуру прав доступа группы и назначить галочками доступы к соответствующим функциям. <br /> Группа Функции <br /> director add_adv, remove_adv, add_user, remove_user <br /> Realtor add_adv, remove_adv <br /> Таким образом мы построили матрицу прав доступа. <br /> Чтобы воспользоваться такой матрицей в программном коде, нам нужно вызвать функцию проверки прав доступа из класса Permission. <br /> $this->permission = new Permission(); <br /> if ( $this->permission->get_access($user_id, 'user_account', 'add_user') ) { <br /> //тут код который разрешен для выполнения этому пользователю <br /> } <br /> Также можно использовать объект Permission в самом шаблоне Smarty.<br> Для этого в файле /template/frontend/agency/main.php добавляем строки:<br> require_once (SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/permission/permission.php');<br> $permission = new Permission();<br> $smarty->assign('permission', $permission);<br> <br> Теперь в самом шаблоне можно обращаться к этому объекту и определять права доступа, например мы можем открыть или закрыть пункты меню у пользователя.<br> Берем файл user_menu.tpl и добавляем эту проверку<br> <nowiki><div class="btn-group"><br> <a class="btn btn-success btn-small dropdown-toggle" data-toggle="dropdown" href="#"><br> {$fio}<br> <span class="caret"></span><br> </a><br> <ul class="dropdown-menu"><br> {if $permission->get_access($smarty.session.user_id, 'user_account', 'data_manager')}<br> <li><a href="{$estate_folder}/account/data/?do=new">{$L_ADD_ADV}</a></li><br> <li><a href="{$estate_folder}/account/data/" >{$L_MY_ADVS}</a></li><br> {/if}<br> <li><a href="{$estate_folder}/account/profile/" >{$L_MY_PROFILE}</a></li><br> <li><a href="{$estate_folder}/logout/" class="logout">{$L_LOGOUT_BUTTON}</a></li><br> </ul><br> </div><br></nowiki> dfb2b5faf1b4b0bcca0c95ca1875ef16d872c4ad 141 140 2014-02-06T04:42:10Z Kondin 1 wikitext text/x-wiki Предположим, что нам нужно создать компонент – user_account (он будет определять у нас набор функций для личного кабинета пользователя). Причем для группы риэлторов (realtor) будет доступны функции добавления объявления (add_adv), удаления объявления (remove_adv). <br /> А для группы директор агентства (director) будут доступны все функции риэлтора, но еще дополнительно функция создания и удаления новых риэлторов (add_user, remove_user) <br /> Для этого нам потребуется создать функции: add_adv, remove_adv, add_user, remove_user. Создать компонент user_account и добавить в него вышеперечисленные функции. <br /> Создать группы пользователей realtor, director. <br /> Затем зайти в структуру прав доступа группы и назначить галочками доступы к соответствующим функциям. <br /> Группа Функции <br /> director add_adv, remove_adv, add_user, remove_user <br /> Realtor add_adv, remove_adv <br /> Таким образом мы построили матрицу прав доступа. <br /> Чтобы воспользоваться такой матрицей в программном коде, нам нужно вызвать функцию проверки прав доступа из класса Permission. <br /> $this->permission = new Permission(); <br /> if ( $this->permission->get_access($user_id, 'user_account', 'add_user') ) { <br /> //тут код который разрешен для выполнения этому пользователю <br /> } <br /> Также можно использовать объект Permission в самом шаблоне Smarty.<br> Для этого в файле /template/frontend/agency/main.php добавляем строки:<br> require_once (SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/permission/permission.php');<br> $permission = new Permission();<br> $smarty->assign('permission', $permission);<br> <br> Теперь в самом шаблоне можно обращаться к этому объекту и определять права доступа, например мы можем открыть или закрыть пункты меню у пользователя.<br> Берем файл user_menu.tpl и добавляем эту проверку<br> <nowiki><div class="btn-group"><br><br /> <a class="btn btn-success btn-small dropdown-toggle" data-toggle="dropdown" href="#"><br><br /> {$fio}<br> <span class="caret"></span><br> </a><br> <ul class="dropdown-menu"><br> {if $permission->get_access($smarty.session.user_id, 'user_account', 'data_manager')}<br> <li><a href="{$estate_folder}/account/data/?do=new">{$L_ADD_ADV}</a></li><br> <li><a href="{$estate_folder}/account/data/" >{$L_MY_ADVS}</a></li><br> {/if}<br> <li><a href="{$estate_folder}/account/profile/" >{$L_MY_PROFILE}</a></li><br> <li><a href="{$estate_folder}/logout/" class="logout">{$L_LOGOUT_BUTTON}</a></li><br> </ul><br> </div><br></nowiki> 0b8f16849895e9aae40a3cf7e2a98411579d20a6 142 141 2014-02-06T04:43:50Z Kondin 1 wikitext text/x-wiki Предположим, что нам нужно создать компонент – user_account (он будет определять у нас набор функций для личного кабинета пользователя). Причем для группы риэлторов (realtor) будет доступны функции добавления объявления (add_adv), удаления объявления (remove_adv). <br /> А для группы директор агентства (director) будут доступны все функции риэлтора, но еще дополнительно функция создания и удаления новых риэлторов (add_user, remove_user) <br /> Для этого нам потребуется создать функции: add_adv, remove_adv, add_user, remove_user. Создать компонент user_account и добавить в него вышеперечисленные функции. <br /> Создать группы пользователей realtor, director. <br /> Затем зайти в структуру прав доступа группы и назначить галочками доступы к соответствующим функциям. <br /> Группа Функции <br /> director add_adv, remove_adv, add_user, remove_user <br /> Realtor add_adv, remove_adv <br /> Таким образом мы построили матрицу прав доступа. <br /> Чтобы воспользоваться такой матрицей в программном коде, нам нужно вызвать функцию проверки прав доступа из класса Permission. <br /> $this->permission = new Permission(); <br /> if ( $this->permission->get_access($user_id, 'user_account', 'add_user') ) { <br /> //тут код который разрешен для выполнения этому пользователю <br /> } <br /> Также можно использовать объект Permission в самом шаблоне Smarty.<br> Для этого в файле /template/frontend/agency/main.php добавляем строки:<br> require_once (SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/permission/permission.php');<br> $permission = new Permission();<br> $smarty->assign('permission', $permission);<br> <br> Теперь в самом шаблоне можно обращаться к этому объекту и определять права доступа, например мы можем открыть или закрыть пункты меню у пользователя.<br> Берем файл user_menu.tpl и добавляем эту проверку<br> {if $permission->get_access($smarty.session.user_id, 'user_account', 'data_manager')}<br> <li><a href="{$estate_folder}/account/data/?do=new">{$L_ADD_ADV}</a></li><br> <li><a href="{$estate_folder}/account/data/" >{$L_MY_ADVS}</a></li><br> {/if}<br> <li><a href="{$estate_folder}/account/profile/" >{$L_MY_PROFILE}</a></li><br> <li><a href="{$estate_folder}/logout/" class="logout">{$L_LOGOUT_BUTTON}</a></li><br> 2a52f4743ae1713a9cf2aa14df7539f1297c12fe 144 142 2014-03-23T05:12:55Z Kondin 1 wikitext text/x-wiki Предположим, что нам нужно создать компонент – user_account (он будет определять у нас набор функций для личного кабинета пользователя). Причем для группы риэлторов (realtor) будет доступны функции добавления объявления (add_adv), удаления объявления (remove_adv). <br /> А для группы директор агентства (director) будут доступны все функции риэлтора, но еще дополнительно функция создания и удаления новых риэлторов (add_user, remove_user) <br /> Для этого нам потребуется создать функции: add_adv, remove_adv, add_user, remove_user. Создать компонент user_account и добавить в него вышеперечисленные функции. <br /> Создать группы пользователей realtor, director. <br /> Затем зайти в структуру прав доступа группы и назначить галочками доступы к соответствующим функциям. <br /> Группа Функции <br /> director add_adv, remove_adv, add_user, remove_user <br /> Realtor add_adv, remove_adv <br /> Таким образом мы построили матрицу прав доступа. <br /> Чтобы воспользоваться такой матрицей в программном коде, нам нужно вызвать функцию проверки прав доступа из класса Permission. <br /> $this->permission = new Permission(); <br /> if ( $this->permission->get_access($user_id, 'user_account', 'add_user') ) { <br /> //тут код который разрешен для выполнения этому пользователю <br /> } <br /> Также можно использовать объект Permission в самом шаблоне Smarty.<br> Для этого в файле /template/frontend/agency/main/main.php добавляем строки:<br> require_once (SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/permission/permission.php');<br> $permission = new Permission();<br> $smarty->assign('permission', $permission);<br> <br> Теперь в самом шаблоне можно обращаться к этому объекту и определять права доступа, например мы можем открыть или закрыть пункты меню у пользователя.<br> Берем файл user_menu.tpl и добавляем эту проверку<br> {if $permission->get_access($smarty.session.user_id, 'user_account', 'data_manager')}<br> <li><a href="{$estate_folder}/account/data/?do=new">{$L_ADD_ADV}</a></li><br> <li><a href="{$estate_folder}/account/data/" >{$L_MY_ADVS}</a></li><br> {/if}<br> <li><a href="{$estate_folder}/account/profile/" >{$L_MY_PROFILE}</a></li><br> <li><a href="{$estate_folder}/logout/" class="logout">{$L_LOGOUT_BUTTON}</a></li><br> 79988b94b1699051b1a08461661557390962051d Редактор текста CKEditor 0 19 143 72 2014-02-12T08:50:57Z Kondin 1 wikitext text/x-wiki В CMS Sitebill предусмотрена возможность установки альтернативных редакторов текста. Здесь мы рассмотрим каким образом установить редактор [http://ckeditor.com/ CKEditor].<br /> Для начала необходимо [http://www.sitebill.ru/storage/editors/ckeditor.zip скачать архив с файлами], распаковать и загрузить по FTP на ваш хостинг в корне каталога установки CMS. В корне теперь должны находиться каталоги ckeditor, ckfinder. <br /> Теперь необходимо зайти в панель управления в настройки. Тут находим поле WYSIWYG-редактор (editor) и в выпадающем списке выбираем ''ckeditor''. Сохраняем настройки.<br /> После этого, если мы зайдем в редактор страниц или новостей то увидим новый редактор текста. С помощью него можно создавать таблицы, делать больше оформлений тегами и самое интересное можно добавлять фотографии и загружать эти фотографии с помощью менеджера картинок.<br /> ''Замечание'': редактор текста появляется только для полей типа '''textarea_editor'''.<br /> b55a8af8b7b953023311c10f1e535ae652cffea5 Параметры приложения apps.mlsparser 0 2 146 12 2014-04-30T15:41:25Z Abushyk 2 wikitext text/x-wiki ==== Нативные параметры apps.mlsparser ==== ===== apps.mlsparser.default_user_id - Пользователь по умолчанию ===== :''Тип: число'' Наследует параметр '''apps.yandexrealty_parser.default_user_id'''. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. ===== apps.mlsparser.parser_root - Папка для загрузки файлов ===== :''Тип: строка'' Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга ==== Параметры наследуемые от apps.yandexrealty_parser ==== ===== apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей ===== :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию ===== :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' ===== apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий ===== :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.category_for_all - Категория по умолчанию ===== :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' ==== Загрузка картинок ==== Параллельно загрузке данных парсер допускает загрузку картинок к данным. Загрузка изображений производится вторым потоком при обращении по специальному адресу. Набор картинок в виде архива формата ZIP должен, на момент запроса на парсинг картинок, находиться в папке /cache/upl/. Обработчику передается имя этого архива. Архив должен быть одноуровневым - содержать исключительно графические файлы формата jpg, jpeg, gif и png. Правило именования файлов в архиве следующее: userid_uniqid_internaltypeid_ordernr.формат для полных изображений thmb_userid_uniqid_internaltypeid_ordernr.формат для уменьшенных изображений где thmb_ - префикс уменьшенного изображения. При его отсутствии изображение считается полным userid - уникальный идентификатор пользователя\программы выгрузки uniqid - уникальный идентификатор объявления в базе из которой производится выгрузка internaltypeid - уникальный идентификатор типа объявления _ordernr - постфикс определяющий порядок изображения в наборе изображений. Используется тогда, когда для объявления передается более одного изображения. Пример обозначения 4_6544_2.gif 2_6544_2_2.jpeg thmb_2_6544_2_2.jpeg 08b2fb6632fba1a9742d8b40f89ab6e66c799daa 147 146 2014-04-30T15:42:08Z Abushyk 2 wikitext text/x-wiki ==== Нативные параметры apps.mlsparser ==== ===== apps.mlsparser.default_user_id - Пользователь по умолчанию ===== :''Тип: число'' Наследует параметр '''apps.yandexrealty_parser.default_user_id'''. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. ===== apps.mlsparser.parser_root - Папка для загрузки файлов ===== :''Тип: строка'' Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга ==== Параметры наследуемые от apps.yandexrealty_parser ==== ===== apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей ===== :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию ===== :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' ===== apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий ===== :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.category_for_all - Категория по умолчанию ===== :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' ==== Загрузка картинок ==== Параллельно загрузке данных парсер допускает загрузку картинок к данным. Загрузка изображений производится вторым потоком при обращении по специальному адресу. Набор картинок в виде архива формата ZIP должен, на момент запроса на парсинг картинок, находиться в папке /cache/upl/.<br /> Обработчику передается имя этого архива.<br /> Архив должен быть одноуровневым - содержать исключительно графические файлы формата jpg, jpeg, gif и png.<br /> Правило именования файлов в архиве следующее:<br /> userid_uniqid_internaltypeid_ordernr.формат для полных изображений<br /> thmb_userid_uniqid_internaltypeid_ordernr.формат для уменьшенных изображений<br /> где<br /> thmb_ - префикс уменьшенного изображения. При его отсутствии изображение считается полным<br /> userid - уникальный идентификатор пользователя\программы выгрузки<br /> uniqid - уникальный идентификатор объявления в базе из которой производится выгрузка<br /> internaltypeid - уникальный идентификатор типа объявления<br /> _ordernr - постфикс определяющий порядок изображения в наборе изображений. Используется тогда, когда для объявления передается более одного изображения.<br /> ''Пример обозначения''<br /> 4_6544_2.gif <br /> 2_6544_2_2.jpeg<br /> thmb_2_6544_2_2.jpeg<br /> b396381bc92e781a010d1a2b0b9cf0fca12ef1fb 148 147 2014-04-30T15:44:29Z Abushyk 2 wikitext text/x-wiki ==== Нативные параметры apps.mlsparser ==== ===== apps.mlsparser.default_user_id - Пользователь по умолчанию ===== :''Тип: число'' Наследует параметр '''apps.yandexrealty_parser.default_user_id'''. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. ===== apps.mlsparser.parser_root - Папка для загрузки файлов ===== :''Тип: строка'' Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга ==== Параметры наследуемые от apps.yandexrealty_parser ==== ===== apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей ===== :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию ===== :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' ===== apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий ===== :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.category_for_all - Категория по умолчанию ===== :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' ==== Загрузка картинок ==== Параллельно загрузке данных парсер допускает загрузку картинок к данным. Загрузка изображений производится вторым потоком при обращении по специальному адресу. Набор картинок в виде архива формата ZIP должен, на момент запроса на парсинг картинок, находиться в папке /cache/upl/.<br /> Обработчику передается имя этого архива.<br /> Архив должен быть одноуровневым - содержать исключительно графические файлы формата jpg, jpeg, gif и png.<br /> Правило именования файлов в архиве следующее:<br /> userid_uniqid_internaltypeid_ordernr.формат для полных изображений<br /> thmb_userid_uniqid_internaltypeid_ordernr.формат для уменьшенных изображений<br /> где<br /> thmb_ - префикс уменьшенного изображения. При его отсутствии изображение считается полным<br /> userid - уникальный идентификатор пользователя\программы выгрузки<br /> uniqid - уникальный идентификатор объявления в базе из которой производится выгрузка<br /> internaltypeid - уникальный идентификатор типа объявления<br /> _ordernr - постфикс определяющий порядок изображения в наборе изображений. Используется тогда, когда для объявления передается более одного изображения.<br /> ''Пример обозначения''<br /> 4_6544_2.gif <br /> 2_6544_2_2.jpeg<br /> thmb_2_6544_2_2.jpeg<br /> При передаче в архиве уменьшенных изображений, для полных изображений '''не будут формироваться''' превьюшки с учетом настроек сервера, а будут просто копироваться переданные уменьшенные, даже если они не соответствуют настроечным размерам уменьшенных изображений. cf517e3f8d6244af4b8f528f76c852b87b87dda4 System logger 0 39 151 2014-06-06T08:26:08Z Kondin 1 Новая страница: «Приложение apps.logger суть его в том, чтобы логировать события в системе в таблицу и потом пр…» wikitext text/x-wiki Приложение apps.logger суть его в том, чтобы логировать события в системе в таблицу и потом просматривать их из админки Приложения - Logger Будет три уровня ошибок NOTICE, WARNING, ERROR. можно в приложении будет включить каждый уровень и в соответствии с ним логировать события в системе. начал я с apps.client Пример записи вот такой $this->writeLog(array('apps_name'=>'apps.client', 'method' => _METHOD_, 'message' => 'add client record', 'type' => NOTICE)); это нужно чтобы отловить ошибки в сложных ajax функциях а также надо будет перевести туда яндекс выгрузки, афи, циан и прочие выгрузки - чтобы можно было зайти в админку и быстро узнать чего не так в выгрузках, потому что с большими файлами ошибок работать невозможно а в этом логгере можно сделать также ограничение на размер ошибок. вернее количество записей ошибок в базе, чтобы не переполнить d745457d5394d69234bb777a586c770cea01b585 152 151 2014-06-06T08:28:49Z Kondin 1 wikitext text/x-wiki Приложение apps.logger <br/> суть его в том, чтобы логировать события в системе в таблицу и потом просматривать их из админки Приложения - Logger<br/> Будет три уровня ошибок NOTICE, WARNING, ERROR.<br/> можно в приложении будет включить каждый уровень и в соответствии с ним логировать события в системе.<br/> начал я с apps.client<br/> Пример записи вот такой<br/> $this->writeLog(array('apps_name'=>'apps.client', 'method' => _METHOD_, 'message' => 'add client record', 'type' => NOTICE));<br/> это нужно чтобы отловить ошибки в сложных ajax функциях<br/> а также надо будет перевести туда яндекс выгрузки, афи, циан и прочие выгрузки - чтобы можно было зайти в админку и быстро узнать чего не так в выгрузках, потому что с большими файлами ошибок работать невозможно<br/> а в этом логгере можно сделать также ограничение на размер ошибок.<br/> вернее количество записей ошибок в базе, чтобы не переполнить<br/> e09e21327edb0bbaf585e52e5ac7d065c9d78044 191 152 2014-06-19T04:28:41Z Kondin 1 wikitext text/x-wiki Приложение apps.logger <br/> <big>Установка</big> <br/> Зайти в Приложения - System logger, нажать установить <br/> Зайти в Настройки и во вкладке System logger поставить 1 в поле apps.logger.enable <br/> <big>Функции приложения</big><br/> Cуть его в том, чтобы логировать события в системе в таблицу и потом просматривать их из админки Приложения - Logger<br/> Будет три уровня ошибок NOTICE, WARNING, ERROR.<br/> можно в приложении будет включить каждый уровень и в соответствии с ним логировать события в системе.<br/> начал я с apps.client<br/> Пример записи вот такой<br/> $this->writeLog(array('apps_name'=>'apps.client', 'method' => _METHOD_, 'message' => 'add client record', 'type' => NOTICE));<br/> это нужно чтобы отловить ошибки в сложных ajax функциях<br/> а также надо будет перевести туда яндекс выгрузки, афи, циан и прочие выгрузки - чтобы можно было зайти в админку и быстро узнать чего не так в выгрузках, потому что с большими файлами ошибок работать невозможно<br/> а в этом логгере можно сделать также ограничение на размер ошибок.<br/> вернее количество записей ошибок в базе, чтобы не переполнить<br/> 9585b48234b5cabcfc2120244381fd15a9403d9c 192 191 2014-06-19T04:32:32Z Kondin 1 wikitext text/x-wiki Приложение apps.logger <br/> <big>Установка</big> <br/><br/> Зайти в Приложения - System logger, нажать установить <br/> Зайти в Настройки и во вкладке System logger поставить 1 в поле apps.logger.enable <br/><br/> <big>Функции приложения</big><br/><br/> Cуть его в том, чтобы логировать события в системе в таблицу и потом просматривать их из админки Приложения - Logger<br/> Будет три уровня ошибок NOTICE, WARNING, ERROR.<br/> можно в приложении будет включить каждый уровень и в соответствии с ним логировать события в системе.<br/> начал я с apps.client<br/> Пример записи вот такой<br/> $this->writeLog(array('apps_name'=>'apps.client', 'method' => _METHOD_, 'message' => 'add client record', 'type' => NOTICE));<br/> это нужно чтобы отловить ошибки в сложных ajax функциях<br/> а также надо будет перевести туда яндекс выгрузки, афи, циан и прочие выгрузки - чтобы можно было зайти в админку и быстро узнать чего не так в выгрузках, потому что с большими файлами ошибок работать невозможно<br/> а в этом логгере можно сделать также ограничение на размер ошибок.<br/> вернее количество записей ошибок в базе, чтобы не переполнить<br/> 559882462aa912bb7ee7fcc5adc2ce60a8bbe96a Приложение "Toolbox" 0 40 153 2014-06-06T16:21:28Z Abushyk 2 Новая страница: «Приложение для выполнения рутинных массовых задач. === Подгонка превьюшек === Использует…» wikitext text/x-wiki Приложение для выполнения рутинных массовых задач. === Подгонка превьюшек === Используется для подгонки уменьшенных изображений картинок для объявлений. Применимо только к элементу типа Uploadify_image.<br /> Принцип работы: выбирает все картинки объявлений и пересоздает их уменьшенные копии согласно настроек apps.realty.data_image_preview_height, apps.realty.data_image_preview_width и apps.realty.preview_smart_resizing. Поскольку за исходное изображение берется нормальное изображение, то не уменьшенных изображениях, в результате этой операции, возможно появление водяного знака, если он был нанесен на нормальные изображения. === Из Uploadify в Uploads === Мигратор картинок из элемента типа Uploadify_image (базовая поставка) в элемент типа Uploads. Для своей работы требует указания системного имени элемента типа Uploads в который будут помещены изображения (при использовании Uploadify_image изображения хранятся во внешней таблице БД).<br /> Если миграция не выполнена, но старый элемент типа Uploadify_image заменен одноименным элементом типа Uploads, присоединенные картинки будут доступны только на просмотр с фронта, но не будут доступны на редактирование из админки. Эта доступность сохранится до первой загрузки картинки в элемент типа Uploads. После этого все изображения, которые были подхвачены из старого элемента, будут утеряны. 8fe7bdf2074b0da03b76f854fba7d0fd12963678 154 153 2014-06-06T16:22:29Z Abushyk 2 wikitext text/x-wiki Приложение для выполнения рутинных массовых задач. === Подгонка превьюшек === Используется для подгонки уменьшенных изображений картинок для объявлений. Применимо только к элементу типа Uploadify_image.<br /> Принцип работы: выбирает все картинки объявлений и пересоздает их уменьшенные копии согласно настроек apps.realty.data_image_preview_height, apps.realty.data_image_preview_width и apps.realty.preview_smart_resizing. Поскольку за исходное изображение берется нормальное изображение, то не уменьшенных изображениях, в результате этой операции, возможно появление водяного знака, если он был нанесен на нормальные изображения. === Из Uploadify в Uploads === Мигратор картинок из элемента типа Uploadify_image (базовая поставка) в элемент типа Uploads. Применяется для объявлений. Для своей работы требует указания системного имени элемента типа Uploads в который будут помещены изображения (при использовании Uploadify_image изображения хранятся во внешней таблице БД).<br /> Если миграция не выполнена, но старый элемент типа Uploadify_image заменен одноименным элементом типа Uploads, присоединенные картинки будут доступны только на просмотр с фронта, но не будут доступны на редактирование из админки. Эта доступность сохранится до первой загрузки картинки в элемент типа Uploads. После этого все изображения, которые были подхвачены из старого элемента, будут утеряны. c714e0c58b229e3ed56a844fd2a3e6031edb341b 162 154 2014-06-09T09:14:42Z Abushyk 2 wikitext text/x-wiki Приложение для выполнения рутинных массовых задач. === Подгонка превьюшек === Используется для подгонки уменьшенных изображений картинок для объявлений. Применимо только к элементу типа Uploadify_image.<br /> Принцип работы: выбирает все картинки объявлений и пересоздает их уменьшенные копии согласно настроек apps.realty.data_image_preview_height, apps.realty.data_image_preview_width и apps.realty.preview_smart_resizing. Поскольку за исходное изображение берется нормальное изображение, то не уменьшенных изображениях, в результате этой операции, возможно появление водяного знака, если он был нанесен на нормальные изображения. === Из Uploadify в Uploads === Мигратор картинок из элемента типа Uploadify_image (базовая поставка) в элемент типа Uploads. Применяется для объявлений. Для своей работы требует указания системного имени элемента типа Uploads в который будут помещены изображения (при использовании Uploadify_image изображения хранятся во внешней таблице БД).<br /> Перед миграцией необходимо дополнить, в случае отсутствия, таблицу re_image полями title VARCHAR(255) и description TEXT.<br /> Если миграция не выполнена, но старый элемент типа Uploadify_image заменен одноименным элементом типа Uploads, присоединенные картинки будут доступны только на просмотр с фронта, но не будут доступны на редактирование из админки. Эта доступность сохранится до первой загрузки картинки в элемент типа Uploads. После этого все изображения, которые были подхвачены из старого элемента, будут утеряны. 6e1ed7947762a4bc381b09773a643eaff6bb3d36 163 162 2014-06-09T09:14:56Z Abushyk 2 wikitext text/x-wiki Приложение для выполнения рутинных массовых задач. === Подгонка превьюшек === Используется для подгонки уменьшенных изображений картинок для объявлений. Применимо только к элементу типа Uploadify_image.<br /> Принцип работы: выбирает все картинки объявлений и пересоздает их уменьшенные копии согласно настроек apps.realty.data_image_preview_height, apps.realty.data_image_preview_width и apps.realty.preview_smart_resizing. Поскольку за исходное изображение берется нормальное изображение, то не уменьшенных изображениях, в результате этой операции, возможно появление водяного знака, если он был нанесен на нормальные изображения. === Из Uploadify в Uploads === Мигратор картинок из элемента типа Uploadify_image (базовая поставка) в элемент типа Uploads. Применяется для объявлений. Для своей работы требует указания системного имени элемента типа Uploads в который будут помещены изображения (при использовании Uploadify_image изображения хранятся во внешней таблице БД).<br /> Перед миграцией необходимо дополнить, в случае отсутствия, таблицу re_image полями title VARCHAR(255) и description TEXT.<br /> Если миграция не выполнена, но старый элемент типа Uploadify_image заменен одноименным элементом типа Uploads, присоединенные картинки будут доступны только на просмотр с фронта, но не будут доступны на редактирование из админки. Эта доступность сохранится до первой загрузки картинки в элемент типа Uploads. После этого все изображения, которые были подхвачены из старого элемента, будут утеряны. f3a4730a5282dd5d63eb810dbd4ab3f1f4e60cb6 Приложения 0 6 155 150 2014-06-09T08:11:07Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) cd7e4ca855e636c4475a278f92337bec1fe8a38e 157 155 2014-06-09T08:14:43Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Cian.ru"|Приложение "Выгрузка Cian.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) c6ecbff867f255fa975abe730c3acc621f793237 160 157 2014-06-09T08:42:34Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Cian.ru"|Приложение "Выгрузка Cian.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 131c22beb35b4de701e85c849f1ddb6ed9ff933a 164 160 2014-06-09T11:31:04Z Abushyk 2 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Парсер_формата_MLS"|Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Cian.ru"|Приложение "Выгрузка Cian.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 1e081ca06422434601acc7b042125d770cf20d8f 189 164 2014-06-19T02:07:04Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[[Параметры приложения apps.mlsparser]|Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Cian.ru"|Приложение "Выгрузка Cian.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) ee3849edc6182254ee6fdef20c1c173dccfa44c6 190 189 2014-06-19T02:07:25Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Cian.ru"|Приложение "Выгрузка Cian.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 6168b3a11fecb8763fcfa6ad9e56b061742ff8d5 195 190 2014-06-23T04:34:47Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Cian.ru"|Приложение "Выгрузка Cian.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) b230b336f84382a9cf9732b26c968b1101df6407 Приложение "Выгрузка Afy.ru" 0 41 156 2014-06-09T08:12:53Z Kondin 1 Новая страница: «Примечание: данное приложение работает как дополнение к CMS Sitebill http://www.sitebill.ru/<br/> Скопируй…» wikitext text/x-wiki Примечание: данное приложение работает как дополнение к CMS Sitebill http://www.sitebill.ru/<br/> Скопируйте приложение в каталог ./apps/afyexporter/<br/> Запустите сначала приложение через панель управления. Для этого зайдите в Приложения – Выгрузка AFY. В момент запуска будут прописаны конфигурационные параметры. <br/> После этого нужно зайти в настройки в закладку Выгрузка AFY. Тут вам нужно прописать страну по-умолчанию. Например, Россия.<br/> Затем с помощью конструктора полей форм вам нужно добавить новые колонки в таблицу data.<br/> price_per "Цена за" - селектбокс<br/> {0~~за все} {1~~за квадратный метр} {2~~за сотку} {3~~за гектар}<br/> square_unit "Единица площади" - селектбокс<br/> {0~~квадратный метр} {2~~сотка} {3~~гектар}<br/> Оба значение по-умолчанию 0.<br/> export_afy Вынружать в AFY чекбокс, значение по-умолчанию 0<br/> <br/> Также вам в настройках нужно включить использование нескольких валют.<br/> И нужно установить соответствия каждой категории. Заходим в Приложения – Выгрузка AFY. Нажимаем кнопку Установка ассоциаций. Здесь необходимо для каждой родительской категории установить Тип недвижимости. <br/>Можно нажать галочку «унаследовать потомкам». В этом случае этот тип недвижимости автоматически будет присвоен всем дочерним категориям.<br/> Теперь можно выгружать объявления. Для этого служит адрес http://ваш_сайт/afyexport/<br/> Все вопросы можно обсудить на форуме: http://www.etown.ru/s/<br/> a844e2d08c0e61c3f8134603bb217e87c5f5f3b6 Приложение "Выгрузка Kvadroom.ru" 0 43 161 2014-06-09T08:43:45Z Kondin 1 Новая страница: «Требуется купить модуль Выгрузка Квадрум<br> Выгрузка по адресу http://ваш_сайт/kvadroomexport/<br>» wikitext text/x-wiki Требуется купить модуль Выгрузка Квадрум<br> Выгрузка по адресу http://ваш_сайт/kvadroomexport/<br> eefc8d0120019cdc92d7ab41ab7ba2334ac43124 Типы элементов форм 0 44 165 2014-06-09T11:33:03Z Abushyk 2 Новая страница: «=== Типы элементов форм === safe_string textarea teatarea_editor select_box select_by_query uploadify_image uploadify_file checkbox» wikitext text/x-wiki === Типы элементов форм === safe_string textarea teatarea_editor select_box select_by_query uploadify_image uploadify_file checkbox a4b729ccac15fef02d37c7f80fa71ba4f3da518c 166 165 2014-06-09T11:36:02Z Abushyk 2 /* Типы элементов форм */ wikitext text/x-wiki === Типы элементов форм === safe_string textarea teatarea_editor select_box select_by_query uploadify_image uploadify_file checkbox geodata primary_key hidden select_box_structure auto_add_value price mobilephone password photo structure date attachment tlocation captcha dtdatetime dtdate dttime uploads 2b43ee8693a91b0438d2c3f2c631e40043a8283d Общие настройки 0 45 167 2014-06-12T14:52:22Z Abushyk 2 Новая страница: «Тип капчи (captcha_type) Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Пос…» wikitext text/x-wiki Тип капчи (captcha_type) Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha link_metro_to_district (link_metro_to_district) Вводит признак связи значений из элемента merto_id со значениями из элемента district_id Уведомлять пользователя о регистрации (registration_notice) Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. Выводить помощника в админке (show_admin_helper) Категория по-умолчанию (выводится на главной) (default_topic) Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. Ключ карты яндекс (yandex_map_key) Устарело Заголовок сайта (site_title) Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. Количество объявлений на одну страницу (per_page) Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. Тема оформления (theme) Имя шаблона сайта. Город (для отображения на карте yandex) (city) Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. Выбор страны в форме объявления (country_in_form) Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. Выбор региона в форме объявления (region_in_form) Выбор города в форме объявления (city_in_form) Выбор метро в форме объявления (metro_in_form) Выбор района в форме объявления (district_in_form) Выбор улицы в форме объявления (street_in_form) Разрешить регистрацию на сайте (allow_register_account) SMTP-сервер для отправки заявок (smtp1_server) SMTP-login (smtp1_login) SMTP-password (smtp1_password) SMTP-port (smtp1_port) SMTP-от кого (smtp1_from) Email на который будут приходить заявки с сайта (order_email_acceptor) WYSIWYG-редактор (editor) Показывать рекламу (show_demo_banners) Стоимость размещения одного специального предложения (special_advert_cost) Адрес службы приема платежей robokassa.ru (robokassa_server) Логин для robokassa.ru (robokassa_login) Пароль 1 для robokassa.ru (robokassa_password1) Пароль 2 для robokassa.ru (robokassa_password2) Лицензионный ключ (license_key) Режим ajax в формах администратора (ajax_form_in_admin) Режим ajax в формах личного кабинета (ajax_form_in_user) Сервер авторизации sitebill.ru (ajax_auth_form) Количество новостей в колонке (news_count_in_column) Отправка почты через smtp (use_smtp) update1 (update1) Использовать watermark на фотографиях (is_watermark) Тип верхнего меню (purecss/slidemenu) (menu_type) Прятать каталоги без содержимого (hide_empty_catalog) Количество позиций на страницу (common_per_page) Разрешить напоминание пароля (allow_remind_password) Галерея: Количество фотографий на страницу (app_gallery_photos_per_page) Ширина большой картинки товара (shop_product_image_big_width) Высота большой картинки товара (shop_product_image_big_height) Ширина маленькой картинки товара (shop_product_image_preview_width) Высота маленькой картинки товара (shop_product_image_preview_height) Стоимость размещения одного простого объявления (advert_cost) Разрешить регистрацию в админ. панели (allow_register_admin) Включить SEO-оптимизацию названий изображений (seo_photo_name_enable) Текст соглашения после формы добавления объявления (post_form_agreement_text_add) Текст соглашения после формы (post_form_agreement_text) Активировать выдачу соглашения после формы (post_form_agreement_enable) Дополнительные поля в личном кабинете риелтора (more_fields_in_lk) Включить авторегистрацию (autoreg_enable) WYSIWYG-редактор1 (editor1) Включить привязку улиц к городу (link_street_to_city) Использовать карту Google (use_google_map) Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits) Добавить дополнительный номер городского телефона (allow_additional_stationary_number) Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number) Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data) Пользователи могут добавлять улицы (user_add_street_enable) Редактировать лицевой счет пользователя в админке (user_account_enable) Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing) Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type) E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email) Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list) Включить поддержку нескольких валют (currency_enable) Количество объявлений на страницу в админке (per_page_admin) Название закладки формы по-умолчанию (default_tab_name) Разрешить картинки в разделах (allow_topic_images) Заголовок главной (meta_title_main) Ключевые слова главной (meta_keywords_main) Мета-описание главной (meta_description_main) Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm) Подпись в письмах (email_signature) Делить формы на шаги (divide_step_form) Не допускать добавления дубликатов данных (filter_double_data) Ширина нормального изображения для отеля (booking_hotel_image_big_width) Высота нормального изображения для отеля (booking_hotel_image_big_height) Ширина превью для отеля (booking_hotel_image_preview_width) Высота превью для отеля (booking_hotel_image_preview_height) Использовать combobox в элементах select (use_combobox) Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select) Игнорировать свободно с (ignore_free_from_parameter) Ширина нормального изображения для апартаментов (booking_apartment_image_big_width) Высота нормального изображения для апартаментов (booking_apartment_image_big_height) Ширина превью для апартаментов (booking_apartment_image_preview_width) Высота превью для апартаментов (booking_apartment_image_preview_height) Выводить дерево каталогов слева в списке объявлений (show_cattree_left) Количество VIP-объявлений в колонке (vip_rotator_number) Цена Премиум-объявления за 1 день (premium_cost) Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty) Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register) Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid) Цена выделения объявления за 1 день (bold_cost) Цена одного поднятия (ups_price) В личном кабинете доступна галочка спец.размещений (enable_special_in_account) Использовать локальную форму добавления объявлений (use_custom_addform) Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type) Админ может поднимать объявления (show_up_icon) Блокировать формы поиска пользователя (block_user_search_forms) Блокировать фронтальные сетки пользователя (block_user_front_grids) Количество похожих объявлений в просмотре объявления (similar_items_count) Ширина картинки пользователя (user_pic_width) Высота картинки пользователя (user_pic_height) Название валюты в личном кабинете (ue_name) Формат даты (date_format) От чьего email будут отправляться письма с сайта. (system_email) Сохранять копию избражений без водяного знака (save_without_watermark) Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals) Использовать встроенный счетчик просмоторов (use_realty_view_counter) Не публиковать объявления из ЛК без премодерации (moderate_first) Ширина большой картинки в комплексах (complex_image_big_width) Высота большой картинки в комплексах (complex_image_big_height) Ширина превью картинки в комплексах (complex_image_preview_width) Высота превью картинки в комплексах (complex_image_preview_height) Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data) Уведомлять администратора о платежах по email (notify_about_payment) Закрыть сайт (is_underconstruction) IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip) 887d231a98be32bc0a39a617b96718b83c4193a5 168 167 2014-06-12T17:39:22Z Abushyk 2 wikitext text/x-wiki Тип капчи (captcha_type) Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha link_metro_to_district (link_metro_to_district) Вводит признак связи значений из элемента merto_id со значениями из элемента district_id Уведомлять пользователя о регистрации (registration_notice) Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. Выводить помощника в админке (show_admin_helper) Категория по-умолчанию (выводится на главной) (default_topic) Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. Ключ карты яндекс (yandex_map_key) Устарело. Не используется нигде, кроме самых древних шаблонов. Заголовок сайта (site_title) Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. Количество объявлений на одну страницу (per_page) Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. Тема оформления (theme) Имя шаблона сайта. Город (для отображения на карте yandex) (city) Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. Выбор страны в форме объявления (country_in_form) Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)''' Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)''' Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)''' Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> Выбор района в форме объявления (district_in_form) Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. Выбор улицы в форме объявления (street_in_form) Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. Разрешить регистрацию на сайте (allow_register_account) SMTP-сервер для отправки заявок (smtp1_server) SMTP-login (smtp1_login) SMTP-password (smtp1_password) SMTP-port (smtp1_port) SMTP-от кого (smtp1_from) Email на который будут приходить заявки с сайта (order_email_acceptor) WYSIWYG-редактор (editor) Показывать рекламу (show_demo_banners) Стоимость размещения одного специального предложения (special_advert_cost) Адрес службы приема платежей robokassa.ru (robokassa_server) Логин для robokassa.ru (robokassa_login) Пароль 1 для robokassa.ru (robokassa_password1) Пароль 2 для robokassa.ru (robokassa_password2) Лицензионный ключ (license_key) Режим ajax в формах администратора (ajax_form_in_admin) Режим ajax в формах личного кабинета (ajax_form_in_user) Сервер авторизации sitebill.ru (ajax_auth_form) Количество новостей в колонке (news_count_in_column) Отправка почты через smtp (use_smtp) update1 (update1) Использовать watermark на фотографиях (is_watermark) Тип верхнего меню (purecss/slidemenu) (menu_type) Прятать каталоги без содержимого (hide_empty_catalog) Количество позиций на страницу (common_per_page) Разрешить напоминание пароля (allow_remind_password) Галерея: Количество фотографий на страницу (app_gallery_photos_per_page) Ширина большой картинки товара (shop_product_image_big_width) Высота большой картинки товара (shop_product_image_big_height) Ширина маленькой картинки товара (shop_product_image_preview_width) Высота маленькой картинки товара (shop_product_image_preview_height) Стоимость размещения одного простого объявления (advert_cost) Разрешить регистрацию в админ. панели (allow_register_admin) Включить SEO-оптимизацию названий изображений (seo_photo_name_enable) Текст соглашения после формы добавления объявления (post_form_agreement_text_add) Текст соглашения после формы (post_form_agreement_text) Активировать выдачу соглашения после формы (post_form_agreement_enable) Дополнительные поля в личном кабинете риелтора (more_fields_in_lk) Включить авторегистрацию (autoreg_enable) WYSIWYG-редактор1 (editor1) Включить привязку улиц к городу (link_street_to_city) Использовать карту Google (use_google_map) Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits) Добавить дополнительный номер городского телефона (allow_additional_stationary_number) Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number) Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data) Пользователи могут добавлять улицы (user_add_street_enable) Редактировать лицевой счет пользователя в админке (user_account_enable) Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing) Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type) E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email) Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list) Включить поддержку нескольких валют (currency_enable) Количество объявлений на страницу в админке (per_page_admin) Название закладки формы по-умолчанию (default_tab_name) Разрешить картинки в разделах (allow_topic_images) Заголовок главной (meta_title_main) Ключевые слова главной (meta_keywords_main) Мета-описание главной (meta_description_main) Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm) Подпись в письмах (email_signature) Делить формы на шаги (divide_step_form) Не допускать добавления дубликатов данных (filter_double_data) Ширина нормального изображения для отеля (booking_hotel_image_big_width) Высота нормального изображения для отеля (booking_hotel_image_big_height) Ширина превью для отеля (booking_hotel_image_preview_width) Высота превью для отеля (booking_hotel_image_preview_height) Использовать combobox в элементах select (use_combobox) Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select) Игнорировать свободно с (ignore_free_from_parameter) Ширина нормального изображения для апартаментов (booking_apartment_image_big_width) Высота нормального изображения для апартаментов (booking_apartment_image_big_height) Ширина превью для апартаментов (booking_apartment_image_preview_width) Высота превью для апартаментов (booking_apartment_image_preview_height) Выводить дерево каталогов слева в списке объявлений (show_cattree_left) Количество VIP-объявлений в колонке (vip_rotator_number) Цена Премиум-объявления за 1 день (premium_cost) Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty) Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register) Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid) Цена выделения объявления за 1 день (bold_cost) Цена одного поднятия (ups_price) В личном кабинете доступна галочка спец.размещений (enable_special_in_account) Использовать локальную форму добавления объявлений (use_custom_addform) Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type) Админ может поднимать объявления (show_up_icon) Блокировать формы поиска пользователя (block_user_search_forms) Блокировать фронтальные сетки пользователя (block_user_front_grids) Количество похожих объявлений в просмотре объявления (similar_items_count) Ширина картинки пользователя (user_pic_width) Высота картинки пользователя (user_pic_height) Название валюты в личном кабинете (ue_name) Формат даты (date_format) От чьего email будут отправляться письма с сайта. (system_email) Сохранять копию избражений без водяного знака (save_without_watermark) Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals) Использовать встроенный счетчик просмоторов (use_realty_view_counter) Не публиковать объявления из ЛК без премодерации (moderate_first) Ширина большой картинки в комплексах (complex_image_big_width) Высота большой картинки в комплексах (complex_image_big_height) Ширина превью картинки в комплексах (complex_image_preview_width) Высота превью картинки в комплексах (complex_image_preview_height) Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data) Уведомлять администратора о платежах по email (notify_about_payment) Закрыть сайт (is_underconstruction) IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip) 32b5cdd500ea5c8da34d3dc9b8f9e7af83f6b376 169 168 2014-06-12T17:39:53Z Abushyk 2 wikitext text/x-wiki Тип капчи (captcha_type) Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha link_metro_to_district (link_metro_to_district) Вводит признак связи значений из элемента merto_id со значениями из элемента district_id Уведомлять пользователя о регистрации (registration_notice) Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. Выводить помощника в админке (show_admin_helper) Категория по-умолчанию (выводится на главной) (default_topic) Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. Ключ карты яндекс (yandex_map_key) Устарело. Не используется нигде, кроме самых древних шаблонов. Заголовок сайта (site_title) Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. Количество объявлений на одну страницу (per_page) Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. Тема оформления (theme) Имя шаблона сайта. Город (для отображения на карте yandex) (city) Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> Выбор района в форме объявления (district_in_form) Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. Выбор улицы в форме объявления (street_in_form) Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. Разрешить регистрацию на сайте (allow_register_account) SMTP-сервер для отправки заявок (smtp1_server) SMTP-login (smtp1_login) SMTP-password (smtp1_password) SMTP-port (smtp1_port) SMTP-от кого (smtp1_from) Email на который будут приходить заявки с сайта (order_email_acceptor) WYSIWYG-редактор (editor) Показывать рекламу (show_demo_banners) Стоимость размещения одного специального предложения (special_advert_cost) Адрес службы приема платежей robokassa.ru (robokassa_server) Логин для robokassa.ru (robokassa_login) Пароль 1 для robokassa.ru (robokassa_password1) Пароль 2 для robokassa.ru (robokassa_password2) Лицензионный ключ (license_key) Режим ajax в формах администратора (ajax_form_in_admin) Режим ajax в формах личного кабинета (ajax_form_in_user) Сервер авторизации sitebill.ru (ajax_auth_form) Количество новостей в колонке (news_count_in_column) Отправка почты через smtp (use_smtp) update1 (update1) Использовать watermark на фотографиях (is_watermark) Тип верхнего меню (purecss/slidemenu) (menu_type) Прятать каталоги без содержимого (hide_empty_catalog) Количество позиций на страницу (common_per_page) Разрешить напоминание пароля (allow_remind_password) Галерея: Количество фотографий на страницу (app_gallery_photos_per_page) Ширина большой картинки товара (shop_product_image_big_width) Высота большой картинки товара (shop_product_image_big_height) Ширина маленькой картинки товара (shop_product_image_preview_width) Высота маленькой картинки товара (shop_product_image_preview_height) Стоимость размещения одного простого объявления (advert_cost) Разрешить регистрацию в админ. панели (allow_register_admin) Включить SEO-оптимизацию названий изображений (seo_photo_name_enable) Текст соглашения после формы добавления объявления (post_form_agreement_text_add) Текст соглашения после формы (post_form_agreement_text) Активировать выдачу соглашения после формы (post_form_agreement_enable) Дополнительные поля в личном кабинете риелтора (more_fields_in_lk) Включить авторегистрацию (autoreg_enable) WYSIWYG-редактор1 (editor1) Включить привязку улиц к городу (link_street_to_city) Использовать карту Google (use_google_map) Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits) Добавить дополнительный номер городского телефона (allow_additional_stationary_number) Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number) Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data) Пользователи могут добавлять улицы (user_add_street_enable) Редактировать лицевой счет пользователя в админке (user_account_enable) Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing) Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type) E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email) Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list) Включить поддержку нескольких валют (currency_enable) Количество объявлений на страницу в админке (per_page_admin) Название закладки формы по-умолчанию (default_tab_name) Разрешить картинки в разделах (allow_topic_images) Заголовок главной (meta_title_main) Ключевые слова главной (meta_keywords_main) Мета-описание главной (meta_description_main) Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm) Подпись в письмах (email_signature) Делить формы на шаги (divide_step_form) Не допускать добавления дубликатов данных (filter_double_data) Ширина нормального изображения для отеля (booking_hotel_image_big_width) Высота нормального изображения для отеля (booking_hotel_image_big_height) Ширина превью для отеля (booking_hotel_image_preview_width) Высота превью для отеля (booking_hotel_image_preview_height) Использовать combobox в элементах select (use_combobox) Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select) Игнорировать свободно с (ignore_free_from_parameter) Ширина нормального изображения для апартаментов (booking_apartment_image_big_width) Высота нормального изображения для апартаментов (booking_apartment_image_big_height) Ширина превью для апартаментов (booking_apartment_image_preview_width) Высота превью для апартаментов (booking_apartment_image_preview_height) Выводить дерево каталогов слева в списке объявлений (show_cattree_left) Количество VIP-объявлений в колонке (vip_rotator_number) Цена Премиум-объявления за 1 день (premium_cost) Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty) Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register) Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid) Цена выделения объявления за 1 день (bold_cost) Цена одного поднятия (ups_price) В личном кабинете доступна галочка спец.размещений (enable_special_in_account) Использовать локальную форму добавления объявлений (use_custom_addform) Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type) Админ может поднимать объявления (show_up_icon) Блокировать формы поиска пользователя (block_user_search_forms) Блокировать фронтальные сетки пользователя (block_user_front_grids) Количество похожих объявлений в просмотре объявления (similar_items_count) Ширина картинки пользователя (user_pic_width) Высота картинки пользователя (user_pic_height) Название валюты в личном кабинете (ue_name) Формат даты (date_format) От чьего email будут отправляться письма с сайта. (system_email) Сохранять копию избражений без водяного знака (save_without_watermark) Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals) Использовать встроенный счетчик просмоторов (use_realty_view_counter) Не публиковать объявления из ЛК без премодерации (moderate_first) Ширина большой картинки в комплексах (complex_image_big_width) Высота большой картинки в комплексах (complex_image_big_height) Ширина превью картинки в комплексах (complex_image_preview_width) Высота превью картинки в комплексах (complex_image_preview_height) Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data) Уведомлять администратора о платежах по email (notify_about_payment) Закрыть сайт (is_underconstruction) IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip) 0f505dc02cdb6109d0cd3d1680cdc130f717165d 170 169 2014-06-12T18:20:10Z Abushyk 2 wikitext text/x-wiki Тип капчи (captcha_type) Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha link_metro_to_district (link_metro_to_district) Вводит признак связи значений из элемента merto_id со значениями из элемента district_id Уведомлять пользователя о регистрации (registration_notice) Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. Выводить помощника в админке (show_admin_helper) Категория по-умолчанию (выводится на главной) (default_topic) Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. Ключ карты яндекс (yandex_map_key) Устарело. Не используется нигде, кроме самых древних шаблонов. Заголовок сайта (site_title) Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. Количество объявлений на одну страницу (per_page) Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. Тема оформления (theme) Имя шаблона сайта. Город (для отображения на карте yandex) (city) Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> Выбор района в форме объявления (district_in_form) Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. Выбор улицы в форме объявления (street_in_form) Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. Разрешить регистрацию на сайте (allow_register_account) Включает возможность регистрации на сайте пользователей. SMTP-сервер для отправки заявок (smtp1_server) Настройки SMTP-сервера для отправки почты SMTP-login (smtp1_login) Настройки SMTP-сервера для отправки почты SMTP-password (smtp1_password) Настройки SMTP-сервера для отправки почты SMTP-port (smtp1_port) Настройки SMTP-сервера для отправки почты SMTP-от кого (smtp1_from) Настройки SMTP-сервера для отправки почты Email на который будут приходить заявки с сайта (order_email_acceptor) WYSIWYG-редактор (editor) Показывать рекламу (show_demo_banners) Стоимость размещения одного специального предложения (special_advert_cost) Адрес службы приема платежей robokassa.ru (robokassa_server) Логин для robokassa.ru (robokassa_login) Пароль 1 для robokassa.ru (robokassa_password1) Пароль 2 для robokassa.ru (robokassa_password2) Лицензионный ключ (license_key) Режим ajax в формах администратора (ajax_form_in_admin) Режим ajax в формах личного кабинета (ajax_form_in_user) Сервер авторизации sitebill.ru (ajax_auth_form) Количество новостей в колонке (news_count_in_column) Отправка почты через smtp (use_smtp) update1 (update1) Использовать watermark на фотографиях (is_watermark) Тип верхнего меню (purecss/slidemenu) (menu_type) Прятать каталоги без содержимого (hide_empty_catalog) Количество позиций на страницу (common_per_page) Разрешить напоминание пароля (allow_remind_password) Галерея: Количество фотографий на страницу (app_gallery_photos_per_page) Ширина большой картинки товара (shop_product_image_big_width) Высота большой картинки товара (shop_product_image_big_height) Ширина маленькой картинки товара (shop_product_image_preview_width) Высота маленькой картинки товара (shop_product_image_preview_height) Стоимость размещения одного простого объявления (advert_cost) Разрешить регистрацию в админ. панели (allow_register_admin) Включить SEO-оптимизацию названий изображений (seo_photo_name_enable) Текст соглашения после формы добавления объявления (post_form_agreement_text_add) Текст соглашения после формы (post_form_agreement_text) Активировать выдачу соглашения после формы (post_form_agreement_enable) Дополнительные поля в личном кабинете риелтора (more_fields_in_lk) Включить авторегистрацию (autoreg_enable) WYSIWYG-редактор1 (editor1) Включить привязку улиц к городу (link_street_to_city) Использовать карту Google (use_google_map) Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits) Добавить дополнительный номер городского телефона (allow_additional_stationary_number) Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number) Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data) Пользователи могут добавлять улицы (user_add_street_enable) Редактировать лицевой счет пользователя в админке (user_account_enable) Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing) Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type) E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email) Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list) Включить поддержку нескольких валют (currency_enable) Количество объявлений на страницу в админке (per_page_admin) Название закладки формы по-умолчанию (default_tab_name) Разрешить картинки в разделах (allow_topic_images) Заголовок главной (meta_title_main) Ключевые слова главной (meta_keywords_main) Мета-описание главной (meta_description_main) Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm) Подпись в письмах (email_signature) Делить формы на шаги (divide_step_form) Не допускать добавления дубликатов данных (filter_double_data) Ширина нормального изображения для отеля (booking_hotel_image_big_width) Высота нормального изображения для отеля (booking_hotel_image_big_height) Ширина превью для отеля (booking_hotel_image_preview_width) Высота превью для отеля (booking_hotel_image_preview_height) Использовать combobox в элементах select (use_combobox) Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select) Игнорировать свободно с (ignore_free_from_parameter) Ширина нормального изображения для апартаментов (booking_apartment_image_big_width) Высота нормального изображения для апартаментов (booking_apartment_image_big_height) Ширина превью для апартаментов (booking_apartment_image_preview_width) Высота превью для апартаментов (booking_apartment_image_preview_height) Выводить дерево каталогов слева в списке объявлений (show_cattree_left) Количество VIP-объявлений в колонке (vip_rotator_number) Цена Премиум-объявления за 1 день (premium_cost) Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty) Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register) Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid) Цена выделения объявления за 1 день (bold_cost) Цена одного поднятия (ups_price) В личном кабинете доступна галочка спец.размещений (enable_special_in_account) Использовать локальную форму добавления объявлений (use_custom_addform) Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type) Админ может поднимать объявления (show_up_icon) Блокировать формы поиска пользователя (block_user_search_forms) Блокировать фронтальные сетки пользователя (block_user_front_grids) Количество похожих объявлений в просмотре объявления (similar_items_count) Ширина картинки пользователя (user_pic_width) Высота картинки пользователя (user_pic_height) Название валюты в личном кабинете (ue_name) Формат даты (date_format) От чьего email будут отправляться письма с сайта. (system_email) Сохранять копию избражений без водяного знака (save_without_watermark) Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals) Использовать встроенный счетчик просмоторов (use_realty_view_counter) Не публиковать объявления из ЛК без премодерации (moderate_first) Ширина большой картинки в комплексах (complex_image_big_width) Высота большой картинки в комплексах (complex_image_big_height) Ширина превью картинки в комплексах (complex_image_preview_width) Высота превью картинки в комплексах (complex_image_preview_height) Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data) Уведомлять администратора о платежах по email (notify_about_payment) Закрыть сайт (is_underconstruction) IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip) 35945d4f787906967e02b97b5af0abd50b67969d 180 170 2014-06-16T18:57:23Z Abushyk 2 wikitext text/x-wiki Тип капчи (captcha_type) Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha link_metro_to_district (link_metro_to_district) Вводит признак связи значений из элемента merto_id со значениями из элемента district_id Уведомлять пользователя о регистрации (registration_notice) Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. Выводить помощника в админке (show_admin_helper) Категория по-умолчанию (выводится на главной) (default_topic) Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. Ключ карты яндекс (yandex_map_key) Устарело. Не используется нигде, кроме самых древних шаблонов. Заголовок сайта (site_title) Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. Количество объявлений на одну страницу (per_page) Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. Тема оформления (theme) Имя шаблона сайта. Город (для отображения на карте yandex) (city) Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> Выбор района в форме объявления (district_in_form) Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. Выбор улицы в форме объявления (street_in_form) Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. '''Разрешить регистрацию на сайте (allow_register_account)''' Включает возможность регистрации на сайте пользователей. '''SMTP-сервер для отправки заявок (smtp1_server)''' Настройки SMTP-сервера для отправки почты '''SMTP-login (smtp1_login)''' Настройки SMTP-сервера для отправки почты '''SMTP-password (smtp1_password)''' Настройки SMTP-сервера для отправки почты '''SMTP-port (smtp1_port)''' Настройки SMTP-сервера для отправки почты '''SMTP-от кого (smtp1_from)''' Настройки SMTP-сервера для отправки почты '''Отправка почты через smtp (use_smtp)''' Настройки SMTP-сервера для отправки почты '''Email на который будут приходить заявки с сайта (order_email_acceptor)''' Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. '''WYSIWYG-редактор (editor)''' Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. '''Показывать рекламу (show_demo_banners)''' Управления показом встроенных демобаннеров в шапке сайта '''Стоимость размещения одного специального предложения (special_advert_cost)''' Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. '''Адрес службы приема платежей robokassa.ru (robokassa_server)''' '''Логин для robokassa.ru (robokassa_login)''' '''Пароль 1 для robokassa.ru (robokassa_password1)''' '''Пароль 2 для robokassa.ru (robokassa_password2)''' Набор настроек для возможности совершения оплаты через сервис Робокассы '''Лицензионный ключ (license_key)''' Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. '''Режим ajax в формах администратора (ajax_form_in_admin)''' Включает цепное обновление зависимых элементов в формах в админке Режим ajax в формах личного кабинета (ajax_form_in_user) Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора '''Сервер авторизации sitebill.ru (ajax_auth_form)''' Нечто специфичное и, видимо, устаревшее '''Количество новостей в колонке (news_count_in_column)''' Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. '''update1 (update1)''' Системная настройка. Не предполагает изменения пользователем. '''Использовать watermark на фотографиях (is_watermark)''' Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. '''Тип верхнего меню (purecss/slidemenu) (menu_type)''' Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. '''Прятать каталоги без содержимого (hide_empty_catalog)''' Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. '''Количество позиций на страницу (common_per_page)''' Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. '''Разрешить напоминание пароля (allow_remind_password)''' Включает возможность восстановления пароля к ЛК. '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)''' Указывает количество фотографий на страницу в приложении Галерея. '''Стоимость размещения одного простого объявления (advert_cost)''' Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)''' Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)''' Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' '''Текст соглашения после формы (post_form_agreement_text)''' Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' '''Активировать выдачу соглашения после формы (post_form_agreement_enable)''' Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)''' Устарело. Никакого функционала в 99% случаев не имеет. '''Включить авторегистрацию (autoreg_enable)''' Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. '''WYSIWYG-редактор1 (editor1)''' Частный случай. '''Включить привязку улиц к городу (link_street_to_city)''' Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. '''Использовать карту Google (use_google_map)''' Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits) Добавить дополнительный номер городского телефона (allow_additional_stationary_number) Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number) Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data) Пользователи могут добавлять улицы (user_add_street_enable) Редактировать лицевой счет пользователя в админке (user_account_enable) Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing) Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type) E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email) Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list) Включить поддержку нескольких валют (currency_enable) Количество объявлений на страницу в админке (per_page_admin) Название закладки формы по-умолчанию (default_tab_name) Разрешить картинки в разделах (allow_topic_images) Заголовок главной (meta_title_main) Ключевые слова главной (meta_keywords_main) Мета-описание главной (meta_description_main) Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm) Подпись в письмах (email_signature) Делить формы на шаги (divide_step_form) Не допускать добавления дубликатов данных (filter_double_data) Ширина нормального изображения для отеля (booking_hotel_image_big_width) Высота нормального изображения для отеля (booking_hotel_image_big_height) Ширина превью для отеля (booking_hotel_image_preview_width) Высота превью для отеля (booking_hotel_image_preview_height) Использовать combobox в элементах select (use_combobox) Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select) Игнорировать свободно с (ignore_free_from_parameter) Ширина нормального изображения для апартаментов (booking_apartment_image_big_width) Высота нормального изображения для апартаментов (booking_apartment_image_big_height) Ширина превью для апартаментов (booking_apartment_image_preview_width) Высота превью для апартаментов (booking_apartment_image_preview_height) Выводить дерево каталогов слева в списке объявлений (show_cattree_left) Количество VIP-объявлений в колонке (vip_rotator_number) Цена Премиум-объявления за 1 день (premium_cost) Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty) Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register) Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid) Цена выделения объявления за 1 день (bold_cost) Цена одного поднятия (ups_price) В личном кабинете доступна галочка спец.размещений (enable_special_in_account) Использовать локальную форму добавления объявлений (use_custom_addform) Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type) Админ может поднимать объявления (show_up_icon) Блокировать формы поиска пользователя (block_user_search_forms) Блокировать фронтальные сетки пользователя (block_user_front_grids) Количество похожих объявлений в просмотре объявления (similar_items_count) Ширина картинки пользователя (user_pic_width) Высота картинки пользователя (user_pic_height) Название валюты в личном кабинете (ue_name) Формат даты (date_format) От чьего email будут отправляться письма с сайта. (system_email) Сохранять копию избражений без водяного знака (save_without_watermark) Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals) Использовать встроенный счетчик просмоторов (use_realty_view_counter) Не публиковать объявления из ЛК без премодерации (moderate_first) Ширина большой картинки в комплексах (complex_image_big_width) Высота большой картинки в комплексах (complex_image_big_height) Ширина превью картинки в комплексах (complex_image_preview_width) Высота превью картинки в комплексах (complex_image_preview_height) Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data) Уведомлять администратора о платежах по email (notify_about_payment) Закрыть сайт (is_underconstruction) IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip) c958d8d63f1c0e44156f752e9e017cc971897a23 181 180 2014-06-16T19:02:40Z Abushyk 2 wikitext text/x-wiki Тип капчи (captcha_type) Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha link_metro_to_district (link_metro_to_district) Вводит признак связи значений из элемента merto_id со значениями из элемента district_id Уведомлять пользователя о регистрации (registration_notice) Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. Выводить помощника в админке (show_admin_helper) Категория по-умолчанию (выводится на главной) (default_topic) Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. Ключ карты яндекс (yandex_map_key) Устарело. Не используется нигде, кроме самых древних шаблонов. Заголовок сайта (site_title) Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. Количество объявлений на одну страницу (per_page) Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. Тема оформления (theme) Имя шаблона сайта. Город (для отображения на карте yandex) (city) Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> Выбор района в форме объявления (district_in_form) Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. Выбор улицы в форме объявления (street_in_form) Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. '''Разрешить регистрацию на сайте (allow_register_account)''' Включает возможность регистрации на сайте пользователей. '''SMTP-сервер для отправки заявок (smtp1_server)''' Настройки SMTP-сервера для отправки почты '''SMTP-login (smtp1_login)''' Настройки SMTP-сервера для отправки почты '''SMTP-password (smtp1_password)''' Настройки SMTP-сервера для отправки почты '''SMTP-port (smtp1_port)''' Настройки SMTP-сервера для отправки почты '''SMTP-от кого (smtp1_from)''' Настройки SMTP-сервера для отправки почты '''Отправка почты через smtp (use_smtp)''' Настройки SMTP-сервера для отправки почты '''Email на который будут приходить заявки с сайта (order_email_acceptor)''' Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. '''WYSIWYG-редактор (editor)''' Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. '''Показывать рекламу (show_demo_banners)''' Управления показом встроенных демобаннеров в шапке сайта '''Стоимость размещения одного специального предложения (special_advert_cost)''' Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. '''Адрес службы приема платежей robokassa.ru (robokassa_server)''' '''Логин для robokassa.ru (robokassa_login)''' '''Пароль 1 для robokassa.ru (robokassa_password1)''' '''Пароль 2 для robokassa.ru (robokassa_password2)''' Набор настроек для возможности совершения оплаты через сервис Робокассы '''Лицензионный ключ (license_key)''' Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. '''Режим ajax в формах администратора (ajax_form_in_admin)''' Включает цепное обновление зависимых элементов в формах в админке Режим ajax в формах личного кабинета (ajax_form_in_user) Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора '''Сервер авторизации sitebill.ru (ajax_auth_form)''' Нечто специфичное и, видимо, устаревшее '''Количество новостей в колонке (news_count_in_column)''' Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. '''update1 (update1)''' Системная настройка. Не предполагает изменения пользователем. '''Использовать watermark на фотографиях (is_watermark)''' Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. '''Тип верхнего меню (purecss/slidemenu) (menu_type)''' Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. '''Прятать каталоги без содержимого (hide_empty_catalog)''' Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. '''Количество позиций на страницу (common_per_page)''' Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. '''Разрешить напоминание пароля (allow_remind_password)''' Включает возможность восстановления пароля к ЛК. '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)''' Указывает количество фотографий на страницу в приложении Галерея. '''Стоимость размещения одного простого объявления (advert_cost)''' Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)''' Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)''' Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' '''Текст соглашения после формы (post_form_agreement_text)''' Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' '''Активировать выдачу соглашения после формы (post_form_agreement_enable)''' Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)''' Устарело. Никакого функционала в 99% случаев не имеет. '''Включить авторегистрацию (autoreg_enable)''' Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. '''WYSIWYG-редактор1 (editor1)''' Частный случай. '''Включить привязку улиц к городу (link_street_to_city)''' Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. '''Использовать карту Google (use_google_map)''' Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)''' Добавляет дополнительное поле. Неактуально. '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)''' Добавляет дополнительное поле. Неактуально. '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)''' Добавляет дополнительное поле. Неактуально. '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)''' Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. '''Пользователи могут добавлять улицы (user_add_street_enable)''' Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. '''Редактировать лицевой счет пользователя в админке (user_account_enable)''' '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)''' Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)''' Тип загрузчика картинок для поля типа uploadify_image E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email) Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list) Включить поддержку нескольких валют (currency_enable) Количество объявлений на страницу в админке (per_page_admin) Название закладки формы по-умолчанию (default_tab_name) Разрешить картинки в разделах (allow_topic_images) Заголовок главной (meta_title_main) Ключевые слова главной (meta_keywords_main) Мета-описание главной (meta_description_main) Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm) Подпись в письмах (email_signature) Делить формы на шаги (divide_step_form) Не допускать добавления дубликатов данных (filter_double_data) Ширина нормального изображения для отеля (booking_hotel_image_big_width) Высота нормального изображения для отеля (booking_hotel_image_big_height) Ширина превью для отеля (booking_hotel_image_preview_width) Высота превью для отеля (booking_hotel_image_preview_height) Использовать combobox в элементах select (use_combobox) Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select) Игнорировать свободно с (ignore_free_from_parameter) Ширина нормального изображения для апартаментов (booking_apartment_image_big_width) Высота нормального изображения для апартаментов (booking_apartment_image_big_height) Ширина превью для апартаментов (booking_apartment_image_preview_width) Высота превью для апартаментов (booking_apartment_image_preview_height) Выводить дерево каталогов слева в списке объявлений (show_cattree_left) Количество VIP-объявлений в колонке (vip_rotator_number) Цена Премиум-объявления за 1 день (premium_cost) Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty) Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register) Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid) Цена выделения объявления за 1 день (bold_cost) Цена одного поднятия (ups_price) В личном кабинете доступна галочка спец.размещений (enable_special_in_account) Использовать локальную форму добавления объявлений (use_custom_addform) Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type) Админ может поднимать объявления (show_up_icon) Блокировать формы поиска пользователя (block_user_search_forms) Блокировать фронтальные сетки пользователя (block_user_front_grids) Количество похожих объявлений в просмотре объявления (similar_items_count) Ширина картинки пользователя (user_pic_width) Высота картинки пользователя (user_pic_height) Название валюты в личном кабинете (ue_name) Формат даты (date_format) От чьего email будут отправляться письма с сайта. (system_email) Сохранять копию избражений без водяного знака (save_without_watermark) Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals) Использовать встроенный счетчик просмоторов (use_realty_view_counter) Не публиковать объявления из ЛК без премодерации (moderate_first) Ширина большой картинки в комплексах (complex_image_big_width) Высота большой картинки в комплексах (complex_image_big_height) Ширина превью картинки в комплексах (complex_image_preview_width) Высота превью картинки в комплексах (complex_image_preview_height) Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data) Уведомлять администратора о платежах по email (notify_about_payment) Закрыть сайт (is_underconstruction) IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip) bb65ab6a9836617a6ef1d5793eeac4507a0fbdda 182 181 2014-06-16T20:41:58Z Abushyk 2 wikitext text/x-wiki '''Тип капчи (captcha_type)''' Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha '''link_metro_to_district (link_metro_to_district)''' Вводит признак связи значений из элемента merto_id со значениями из элемента district_id '''Уведомлять пользователя о регистрации (registration_notice)''' Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. '''Выводить помощника в админке (show_admin_helper)''' '''Категория по-умолчанию (выводится на главной) (default_topic)''' Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. '''Ключ карты яндекс (yandex_map_key)''' Устарело. Не используется нигде, кроме самых древних шаблонов. '''Заголовок сайта (site_title)''' Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. '''Количество объявлений на одну страницу (per_page)''' Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. '''Тема оформления (theme)''' Имя шаблона сайта. '''Город (для отображения на карте yandex) (city)''' Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор района в форме объявления (district_in_form)''' Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. '''Выбор улицы в форме объявления (street_in_form)''' Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. '''Разрешить регистрацию на сайте (allow_register_account)''' Включает возможность регистрации на сайте пользователей. '''SMTP-сервер для отправки заявок (smtp1_server)''' Настройки SMTP-сервера для отправки почты '''SMTP-login (smtp1_login)''' Настройки SMTP-сервера для отправки почты '''SMTP-password (smtp1_password)''' Настройки SMTP-сервера для отправки почты '''SMTP-port (smtp1_port)''' Настройки SMTP-сервера для отправки почты '''SMTP-от кого (smtp1_from)''' Настройки SMTP-сервера для отправки почты '''Отправка почты через smtp (use_smtp)''' Настройки SMTP-сервера для отправки почты '''Email на который будут приходить заявки с сайта (order_email_acceptor)''' Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. '''WYSIWYG-редактор (editor)''' Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. '''Показывать рекламу (show_demo_banners)''' Управления показом встроенных демобаннеров в шапке сайта '''Стоимость размещения одного специального предложения (special_advert_cost)''' Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. '''Адрес службы приема платежей robokassa.ru (robokassa_server)''' '''Логин для robokassa.ru (robokassa_login)''' '''Пароль 1 для robokassa.ru (robokassa_password1)''' '''Пароль 2 для robokassa.ru (robokassa_password2)''' Набор настроек для возможности совершения оплаты через сервис Робокассы '''Лицензионный ключ (license_key)''' Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. '''Режим ajax в формах администратора (ajax_form_in_admin)''' Включает цепное обновление зависимых элементов в формах в админке Режим ajax в формах личного кабинета (ajax_form_in_user) Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора '''Сервер авторизации sitebill.ru (ajax_auth_form)''' Нечто специфичное и, видимо, устаревшее '''Количество новостей в колонке (news_count_in_column)''' Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. '''update1 (update1)''' Системная настройка. Не предполагает изменения пользователем. '''Использовать watermark на фотографиях (is_watermark)''' Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. '''Тип верхнего меню (purecss/slidemenu) (menu_type)''' Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. '''Прятать каталоги без содержимого (hide_empty_catalog)''' Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. '''Количество позиций на страницу (common_per_page)''' Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. '''Разрешить напоминание пароля (allow_remind_password)''' Включает возможность восстановления пароля к ЛК. '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)''' Указывает количество фотографий на страницу в приложении Галерея. '''Стоимость размещения одного простого объявления (advert_cost)''' Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)''' Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)''' Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' '''Текст соглашения после формы (post_form_agreement_text)''' Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' '''Активировать выдачу соглашения после формы (post_form_agreement_enable)''' Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)''' Устарело. Никакого функционала в 99% случаев не имеет. '''Включить авторегистрацию (autoreg_enable)''' Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. '''WYSIWYG-редактор1 (editor1)''' Частный случай. '''Включить привязку улиц к городу (link_street_to_city)''' Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. '''Использовать карту Google (use_google_map)''' Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)''' Добавляет дополнительное поле. Неактуально. '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)''' Добавляет дополнительное поле. Неактуально. '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)''' Добавляет дополнительное поле. Неактуально. '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)''' Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. '''Пользователи могут добавлять улицы (user_add_street_enable)''' Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. '''Редактировать лицевой счет пользователя в админке (user_account_enable)''' '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)''' Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)''' Тип загрузчика картинок для поля типа uploadify_image '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)''' Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)''' Устаревшее '''Включить поддержку нескольких валют (currency_enable)''' Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. '''Количество объявлений на страницу в админке (per_page_admin)''' Кличество объявления на страницу. Только для административной части. '''Название закладки формы по-умолчанию (default_tab_name)''' Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. '''Разрешить картинки в разделах (allow_topic_images)''' В разработке. '''Заголовок главной (meta_title_main)''' Текст, который будет помещен в тег head>title для главной страницы. '''Ключевые слова главной (meta_keywords_main)''' Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. '''Мета-описание главной (meta_description_main)''' Текст, который будет помещен в тег head>meta[name=description] для главной страницы. '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)''' Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. '''Подпись в письмах (email_signature)''' Текс, который будет размещаться в конце писем, отправляемых сайтом. '''Делить формы на шаги (divide_step_form)''' Частный случай. '''Не допускать добавления дубликатов данных (filter_double_data)''' Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. '''Использовать combobox в элементах select (use_combobox)''' Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)''' Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. '''Игнорировать свободно с (ignore_free_from_parameter)''' Частный случай. '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)''' Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. '''Количество VIP-объявлений в колонке (vip_rotator_number)''' Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. '''Цена Премиум-объявления за 1 день (premium_cost)''' Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)''' Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)''' Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)''' Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. '''Цена выделения объявления за 1 день (bold_cost)''' Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. '''Цена одного поднятия (ups_price)''' Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)''' Включить возможность устанавливать статус Спецпредложение в ЛК. '''Использовать локальную форму добавления объявлений (use_custom_addform)''' Частный случай. '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)''' Тип вывода сетки объявлений по умолчанию. '''Админ может поднимать объявления (show_up_icon)''' Включение кнопки поднятия объявления в списке объявлений в админке. '''Блокировать формы поиска пользователя (block_user_search_forms)''' Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. '''Блокировать фронтальные сетки пользователя (block_user_front_grids)''' Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. '''Количество похожих объявлений в просмотре объявления (similar_items_count)''' Количество объявлений которые будут отображены в разделе Похожие объявления. '''Ширина картинки пользователя (user_pic_width)''' '''Высота картинки пользователя (user_pic_height)''' Регулируют размеры аватарки пользователя. '''Название валюты в личном кабинете (ue_name)''' Строковое название внутренней валюты ЛК. '''Формат даты (date_format)''' В разработке. '''От чьего email будут отправляться письма с сайта. (system_email)''' '''Сохранять копию избражений без водяного знака (save_without_watermark)''' Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)''' Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. '''Использовать встроенный счетчик просмотров (use_realty_view_counter)''' Включение\отключение встроенного счетчика просмотров объявления Не публиковать объявления из ЛК без премодерации (moderate_first) Ширина большой картинки в комплексах (complex_image_big_width) Высота большой картинки в комплексах (complex_image_big_height) Ширина превью картинки в комплексах (complex_image_preview_width) Высота превью картинки в комплексах (complex_image_preview_height) Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data) Уведомлять администратора о платежах по email (notify_about_payment) Закрыть сайт (is_underconstruction) IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip) 3a4338799947b10fb96da88f8974f311ecf1409d 183 182 2014-06-16T20:55:34Z Abushyk 2 wikitext text/x-wiki '''Тип капчи (captcha_type)'''<br /> Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha <br /> '''link_metro_to_district (link_metro_to_district)'''<br /> Вводит признак связи значений из элемента merto_id со значениями из элемента district_id <br /> '''Уведомлять пользователя о регистрации (registration_notice)'''<br /> Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. <br /> '''Выводить помощника в админке (show_admin_helper)'''<br /> <br /> '''Категория по-умолчанию (выводится на главной) (default_topic)'''<br /> Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. <br /> '''Ключ карты яндекс (yandex_map_key)'''<br /> Устарело. Не используется нигде, кроме самых древних шаблонов. <br /> '''Заголовок сайта (site_title)'''<br /> Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. <br /> '''Количество объявлений на одну страницу (per_page)'''<br /> Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. <br /> '''Тема оформления (theme)'''<br /> Имя шаблона сайта. <br /> '''Город (для отображения на карте yandex) (city)''' Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор района в форме объявления (district_in_form)''' Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. '''Выбор улицы в форме объявления (street_in_form)''' Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. '''Разрешить регистрацию на сайте (allow_register_account)''' Включает возможность регистрации на сайте пользователей. '''SMTP-сервер для отправки заявок (smtp1_server)''' Настройки SMTP-сервера для отправки почты '''SMTP-login (smtp1_login)''' Настройки SMTP-сервера для отправки почты '''SMTP-password (smtp1_password)''' Настройки SMTP-сервера для отправки почты '''SMTP-port (smtp1_port)''' Настройки SMTP-сервера для отправки почты '''SMTP-от кого (smtp1_from)''' Настройки SMTP-сервера для отправки почты '''Отправка почты через smtp (use_smtp)''' Настройки SMTP-сервера для отправки почты '''Email на который будут приходить заявки с сайта (order_email_acceptor)''' Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. '''WYSIWYG-редактор (editor)''' Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. '''Показывать рекламу (show_demo_banners)''' Управления показом встроенных демобаннеров в шапке сайта '''Стоимость размещения одного специального предложения (special_advert_cost)''' Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. '''Адрес службы приема платежей robokassa.ru (robokassa_server)''' '''Логин для robokassa.ru (robokassa_login)''' '''Пароль 1 для robokassa.ru (robokassa_password1)''' '''Пароль 2 для robokassa.ru (robokassa_password2)''' Набор настроек для возможности совершения оплаты через сервис Робокассы '''Лицензионный ключ (license_key)''' Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. '''Режим ajax в формах администратора (ajax_form_in_admin)''' Включает цепное обновление зависимых элементов в формах в админке Режим ajax в формах личного кабинета (ajax_form_in_user) Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора '''Сервер авторизации sitebill.ru (ajax_auth_form)''' Нечто специфичное и, видимо, устаревшее '''Количество новостей в колонке (news_count_in_column)''' Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. '''update1 (update1)''' Системная настройка. Не предполагает изменения пользователем. '''Использовать watermark на фотографиях (is_watermark)''' Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. '''Тип верхнего меню (purecss/slidemenu) (menu_type)''' Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. '''Прятать каталоги без содержимого (hide_empty_catalog)''' Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. '''Количество позиций на страницу (common_per_page)''' Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. '''Разрешить напоминание пароля (allow_remind_password)''' Включает возможность восстановления пароля к ЛК. '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)''' Указывает количество фотографий на страницу в приложении Галерея. '''Стоимость размещения одного простого объявления (advert_cost)''' Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)''' Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)''' Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' '''Текст соглашения после формы (post_form_agreement_text)''' Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' '''Активировать выдачу соглашения после формы (post_form_agreement_enable)''' Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)''' Устарело. Никакого функционала в 99% случаев не имеет. '''Включить авторегистрацию (autoreg_enable)''' Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. '''WYSIWYG-редактор1 (editor1)''' Частный случай. '''Включить привязку улиц к городу (link_street_to_city)''' Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. '''Использовать карту Google (use_google_map)''' Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)''' Добавляет дополнительное поле. Неактуально. '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)''' Добавляет дополнительное поле. Неактуально. '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)''' Добавляет дополнительное поле. Неактуально. '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)''' Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. '''Пользователи могут добавлять улицы (user_add_street_enable)''' Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. '''Редактировать лицевой счет пользователя в админке (user_account_enable)''' '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)''' Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)''' Тип загрузчика картинок для поля типа uploadify_image '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)''' Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)''' Устаревшее '''Включить поддержку нескольких валют (currency_enable)''' Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. '''Количество объявлений на страницу в админке (per_page_admin)''' Кличество объявления на страницу. Только для административной части. '''Название закладки формы по-умолчанию (default_tab_name)''' Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. '''Разрешить картинки в разделах (allow_topic_images)''' В разработке. '''Заголовок главной (meta_title_main)''' Текст, который будет помещен в тег head>title для главной страницы. '''Ключевые слова главной (meta_keywords_main)''' Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. '''Мета-описание главной (meta_description_main)''' Текст, который будет помещен в тег head>meta[name=description] для главной страницы. '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)''' Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. '''Подпись в письмах (email_signature)''' Текс, который будет размещаться в конце писем, отправляемых сайтом. '''Делить формы на шаги (divide_step_form)''' Частный случай. '''Не допускать добавления дубликатов данных (filter_double_data)''' Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. '''Использовать combobox в элементах select (use_combobox)''' Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)''' Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. '''Игнорировать свободно с (ignore_free_from_parameter)''' Частный случай. '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)''' Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. '''Количество VIP-объявлений в колонке (vip_rotator_number)''' Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. '''Цена Премиум-объявления за 1 день (premium_cost)''' Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)''' Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)''' Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)''' Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. '''Цена выделения объявления за 1 день (bold_cost)''' Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. '''Цена одного поднятия (ups_price)''' Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)''' Включить возможность устанавливать статус Спецпредложение в ЛК. '''Использовать локальную форму добавления объявлений (use_custom_addform)''' Частный случай. '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)''' Тип вывода сетки объявлений по умолчанию. '''Админ может поднимать объявления (show_up_icon)''' Включение кнопки поднятия объявления в списке объявлений в админке. '''Блокировать формы поиска пользователя (block_user_search_forms)''' Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. '''Блокировать фронтальные сетки пользователя (block_user_front_grids)''' Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. '''Количество похожих объявлений в просмотре объявления (similar_items_count)''' Количество объявлений которые будут отображены в разделе Похожие объявления. '''Ширина картинки пользователя (user_pic_width)''' '''Высота картинки пользователя (user_pic_height)''' Регулируют размеры аватарки пользователя. '''Название валюты в личном кабинете (ue_name)''' Строковое название внутренней валюты ЛК. '''Формат даты (date_format)''' В разработке. '''От чьего email будут отправляться письма с сайта. (system_email)''' '''Сохранять копию избражений без водяного знака (save_without_watermark)''' Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)''' Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. '''Использовать встроенный счетчик просмотров (use_realty_view_counter)''' Включение\отключение встроенного счетчика просмотров объявления '''Не публиковать объявления из ЛК без премодерации (moderate_first)''' Принудительно ставит на объявления добавленные или измененные через ЛК статус неактивности. '''Ширина большой картинки в комплексах (complex_image_big_width)''' '''Высота большой картинки в комплексах (complex_image_big_height)''' '''Ширина превью картинки в комплексах (complex_image_preview_width)''' '''Высота превью картинки в комплексах (complex_image_preview_height)''' Набор параметров для загружаемых картинок для Жилых комплексов. Применимо к типу поля uploadify_image. '''Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data)''' В форме объявления в ЛК позволяет убрать поля контактных данных (имя, телефон, email) связи с их избыточностью. '''Уведомлять администратора о платежах по email (notify_about_payment)''' При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. '''Закрыть сайт (is_underconstruction)''' Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. '''IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip)''' Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. 24613bc406fb5ca53c29a1715c1d618928e87459 184 183 2014-06-16T20:57:23Z Abushyk 2 wikitext text/x-wiki '''Тип капчи (captcha_type)'''<br /> Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha <br /> '''link_metro_to_district (link_metro_to_district)'''<br /> Вводит признак связи значений из элемента merto_id со значениями из элемента district_id <br /> '''Уведомлять пользователя о регистрации (registration_notice)'''<br /> Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. <br /> '''Выводить помощника в админке (show_admin_helper)'''<br /> <br /> '''Категория по-умолчанию (выводится на главной) (default_topic)'''<br /> Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. <br /> '''Ключ карты яндекс (yandex_map_key)'''<br /> Устарело. Не используется нигде, кроме самых древних шаблонов. <br /> '''Заголовок сайта (site_title)'''<br /> Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. <br /> '''Количество объявлений на одну страницу (per_page)'''<br /> Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. <br /> '''Тема оформления (theme)'''<br /> Имя шаблона сайта. <br /> '''Город (для отображения на карте yandex) (city)'''<br /> Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. <br /> '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор района в форме объявления (district_in_form)'''<br /> Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор улицы в форме объявления (street_in_form)'''<br /> Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Разрешить регистрацию на сайте (allow_register_account)'''<br /> Включает возможность регистрации на сайте пользователей. <br /> '''SMTP-сервер для отправки заявок (smtp1_server)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-login (smtp1_login)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-password (smtp1_password)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-port (smtp1_port)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-от кого (smtp1_from)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Отправка почты через smtp (use_smtp)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Email на который будут приходить заявки с сайта (order_email_acceptor)'''<br /> Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. <br /> '''WYSIWYG-редактор (editor)'''<br /> Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. <br /> '''Показывать рекламу (show_demo_banners)'''<br /> Управления показом встроенных демобаннеров в шапке сайта <br /> '''Стоимость размещения одного специального предложения (special_advert_cost)'''<br /> Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Адрес службы приема платежей robokassa.ru (robokassa_server)'''<br /> '''Логин для robokassa.ru (robokassa_login)'''<br /> '''Пароль 1 для robokassa.ru (robokassa_password1)'''<br /> '''Пароль 2 для robokassa.ru (robokassa_password2)'''<br /> Набор настроек для возможности совершения оплаты через сервис Робокассы <br /> '''Лицензионный ключ (license_key)'''<br /> Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. <br /> '''Режим ajax в формах администратора (ajax_form_in_admin)'''<br /> Включает цепное обновление зависимых элементов в формах в админке <br /> '''Режим ajax в формах личного кабинета (ajax_form_in_user)'''<br /> Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора <br /> '''Сервер авторизации sitebill.ru (ajax_auth_form)'''<br /> Нечто специфичное и, видимо, устаревшее <br /> '''Количество новостей в колонке (news_count_in_column)'''<br /> Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. <br /> '''update1 (update1)''' Системная настройка. Не предполагает изменения пользователем. '''Использовать watermark на фотографиях (is_watermark)''' Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. '''Тип верхнего меню (purecss/slidemenu) (menu_type)''' Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. '''Прятать каталоги без содержимого (hide_empty_catalog)''' Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. '''Количество позиций на страницу (common_per_page)''' Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. '''Разрешить напоминание пароля (allow_remind_password)''' Включает возможность восстановления пароля к ЛК. '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)''' Указывает количество фотографий на страницу в приложении Галерея. '''Стоимость размещения одного простого объявления (advert_cost)''' Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)''' Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)''' Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' '''Текст соглашения после формы (post_form_agreement_text)''' Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' '''Активировать выдачу соглашения после формы (post_form_agreement_enable)''' Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)''' Устарело. Никакого функционала в 99% случаев не имеет. '''Включить авторегистрацию (autoreg_enable)''' Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. '''WYSIWYG-редактор1 (editor1)''' Частный случай. '''Включить привязку улиц к городу (link_street_to_city)''' Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. '''Использовать карту Google (use_google_map)''' Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)''' Добавляет дополнительное поле. Неактуально. '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)''' Добавляет дополнительное поле. Неактуально. '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)''' Добавляет дополнительное поле. Неактуально. '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)''' Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. '''Пользователи могут добавлять улицы (user_add_street_enable)''' Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. '''Редактировать лицевой счет пользователя в админке (user_account_enable)''' '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)''' Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)''' Тип загрузчика картинок для поля типа uploadify_image '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)''' Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)''' Устаревшее '''Включить поддержку нескольких валют (currency_enable)''' Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. '''Количество объявлений на страницу в админке (per_page_admin)''' Кличество объявления на страницу. Только для административной части. '''Название закладки формы по-умолчанию (default_tab_name)''' Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. '''Разрешить картинки в разделах (allow_topic_images)''' В разработке. '''Заголовок главной (meta_title_main)''' Текст, который будет помещен в тег head>title для главной страницы. '''Ключевые слова главной (meta_keywords_main)''' Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. '''Мета-описание главной (meta_description_main)''' Текст, который будет помещен в тег head>meta[name=description] для главной страницы. '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)''' Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. '''Подпись в письмах (email_signature)''' Текс, который будет размещаться в конце писем, отправляемых сайтом. '''Делить формы на шаги (divide_step_form)''' Частный случай. '''Не допускать добавления дубликатов данных (filter_double_data)''' Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. '''Использовать combobox в элементах select (use_combobox)''' Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)''' Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. '''Игнорировать свободно с (ignore_free_from_parameter)''' Частный случай. '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)''' Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. '''Количество VIP-объявлений в колонке (vip_rotator_number)''' Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. '''Цена Премиум-объявления за 1 день (premium_cost)''' Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)''' Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)''' Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)''' Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. '''Цена выделения объявления за 1 день (bold_cost)''' Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. '''Цена одного поднятия (ups_price)''' Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)''' Включить возможность устанавливать статус Спецпредложение в ЛК. '''Использовать локальную форму добавления объявлений (use_custom_addform)''' Частный случай. '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)''' Тип вывода сетки объявлений по умолчанию. '''Админ может поднимать объявления (show_up_icon)''' Включение кнопки поднятия объявления в списке объявлений в админке. '''Блокировать формы поиска пользователя (block_user_search_forms)''' Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. '''Блокировать фронтальные сетки пользователя (block_user_front_grids)''' Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. '''Количество похожих объявлений в просмотре объявления (similar_items_count)''' Количество объявлений которые будут отображены в разделе Похожие объявления. '''Ширина картинки пользователя (user_pic_width)''' '''Высота картинки пользователя (user_pic_height)''' Регулируют размеры аватарки пользователя. '''Название валюты в личном кабинете (ue_name)''' Строковое название внутренней валюты ЛК. '''Формат даты (date_format)''' В разработке. '''От чьего email будут отправляться письма с сайта. (system_email)''' '''Сохранять копию избражений без водяного знака (save_without_watermark)''' Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)''' Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. '''Использовать встроенный счетчик просмотров (use_realty_view_counter)''' Включение\отключение встроенного счетчика просмотров объявления '''Не публиковать объявления из ЛК без премодерации (moderate_first)''' Принудительно ставит на объявления добавленные или измененные через ЛК статус неактивности. '''Ширина большой картинки в комплексах (complex_image_big_width)''' '''Высота большой картинки в комплексах (complex_image_big_height)''' '''Ширина превью картинки в комплексах (complex_image_preview_width)''' '''Высота превью картинки в комплексах (complex_image_preview_height)''' Набор параметров для загружаемых картинок для Жилых комплексов. Применимо к типу поля uploadify_image. '''Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data)''' В форме объявления в ЛК позволяет убрать поля контактных данных (имя, телефон, email) связи с их избыточностью. '''Уведомлять администратора о платежах по email (notify_about_payment)''' При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. '''Закрыть сайт (is_underconstruction)''' Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. '''IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip)''' Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. 04a94106c6d1b1529fd65f5a0ca01b4c3f0d4853 185 184 2014-06-16T21:02:01Z Abushyk 2 wikitext text/x-wiki '''Тип капчи (captcha_type)'''<br /> Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha <br /> '''link_metro_to_district (link_metro_to_district)'''<br /> Вводит признак связи значений из элемента merto_id со значениями из элемента district_id <br /> '''Уведомлять пользователя о регистрации (registration_notice)'''<br /> Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. <br /> '''Выводить помощника в админке (show_admin_helper)'''<br /> <br /> '''Категория по-умолчанию (выводится на главной) (default_topic)'''<br /> Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. <br /> '''Ключ карты яндекс (yandex_map_key)'''<br /> Устарело. Не используется нигде, кроме самых древних шаблонов. <br /> '''Заголовок сайта (site_title)'''<br /> Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. <br /> '''Количество объявлений на одну страницу (per_page)'''<br /> Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. <br /> '''Тема оформления (theme)'''<br /> Имя шаблона сайта. <br /> '''Город (для отображения на карте yandex) (city)'''<br /> Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. <br /> '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор района в форме объявления (district_in_form)'''<br /> Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор улицы в форме объявления (street_in_form)'''<br /> Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Разрешить регистрацию на сайте (allow_register_account)'''<br /> Включает возможность регистрации на сайте пользователей. <br /> '''SMTP-сервер для отправки заявок (smtp1_server)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-login (smtp1_login)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-password (smtp1_password)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-port (smtp1_port)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-от кого (smtp1_from)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Отправка почты через smtp (use_smtp)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Email на который будут приходить заявки с сайта (order_email_acceptor)'''<br /> Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. <br /> '''WYSIWYG-редактор (editor)'''<br /> Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. <br /> '''Показывать рекламу (show_demo_banners)'''<br /> Управления показом встроенных демобаннеров в шапке сайта <br /> '''Стоимость размещения одного специального предложения (special_advert_cost)'''<br /> Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Адрес службы приема платежей robokassa.ru (robokassa_server)'''<br /> '''Логин для robokassa.ru (robokassa_login)'''<br /> '''Пароль 1 для robokassa.ru (robokassa_password1)'''<br /> '''Пароль 2 для robokassa.ru (robokassa_password2)'''<br /> Набор настроек для возможности совершения оплаты через сервис Робокассы <br /> '''Лицензионный ключ (license_key)'''<br /> Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. <br /> '''Режим ajax в формах администратора (ajax_form_in_admin)'''<br /> Включает цепное обновление зависимых элементов в формах в админке <br /> '''Режим ajax в формах личного кабинета (ajax_form_in_user)'''<br /> Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора <br /> '''Сервер авторизации sitebill.ru (ajax_auth_form)'''<br /> Нечто специфичное и, видимо, устаревшее <br /> '''Количество новостей в колонке (news_count_in_column)'''<br /> Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. <br /> '''update1 (update1)'''<br /> Системная настройка. Не предполагает изменения пользователем. <br /> '''Использовать watermark на фотографиях (is_watermark)'''<br /> Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. <br /> '''Тип верхнего меню (purecss/slidemenu) (menu_type)'''<br /> Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. <br /> '''Прятать каталоги без содержимого (hide_empty_catalog)'''<br /> Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. <br /> '''Количество позиций на страницу (common_per_page)'''<br /> Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. <br /> '''Разрешить напоминание пароля (allow_remind_password)'''<br /> Включает возможность восстановления пароля к ЛК. <br /> '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)'''<br /> Указывает количество фотографий на страницу в приложении Галерея. <br /> '''Стоимость размещения одного простого объявления (advert_cost)'''<br /> Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)'''<br /> Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. <br /> '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Текст соглашения после формы (post_form_agreement_text)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Активировать выдачу соглашения после формы (post_form_agreement_enable)'''<br /> Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. <br /> '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)'''<br /> Устарело. Никакого функционала в 99% случаев не имеет. <br /> '''Включить авторегистрацию (autoreg_enable)'''<br /> Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. <br /> '''WYSIWYG-редактор1 (editor1)'''<br /> Частный случай. <br /> '''Включить привязку улиц к городу (link_street_to_city)'''<br /> Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. <br /> '''Использовать карту Google (use_google_map)'''<br /> Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. <br /> '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)'''<br /> Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. <br /> '''Пользователи могут добавлять улицы (user_add_street_enable)'''<br /> Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. <br /> '''Редактировать лицевой счет пользователя в админке (user_account_enable)'''<br /> <br /> '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)'''<br /> Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. <br /> '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)'''<br /> Тип загрузчика картинок для поля типа uploadify_image <br /> '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)'''<br /> Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. <br /> '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)'''<br /> Устаревшее <br /> '''Включить поддержку нескольких валют (currency_enable)'''<br /> Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. <br /> '''Количество объявлений на страницу в админке (per_page_admin)'''<br /> Кличество объявления на страницу. Только для административной части. <br /> '''Название закладки формы по-умолчанию (default_tab_name)'''<br /> Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. <br /> '''Разрешить картинки в разделах (allow_topic_images)'''<br /> В разработке. <br /> '''Заголовок главной (meta_title_main)'''<br /> Текст, который будет помещен в тег head>title для главной страницы. <br /> '''Ключевые слова главной (meta_keywords_main)'''<br /> Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. <br /> '''Мета-описание главной (meta_description_main)'''<br /> Текст, который будет помещен в тег head>meta[name=description] для главной страницы. <br /> '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)'''<br /> Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. <br /> '''Подпись в письмах (email_signature)'''<br /> Текс, который будет размещаться в конце писем, отправляемых сайтом. <br /> '''Делить формы на шаги (divide_step_form)'''<br /> Частный случай. <br /> '''Не допускать добавления дубликатов данных (filter_double_data)'''<br /> Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. <br /> '''Использовать combobox в элементах select (use_combobox)'''<br /> Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. <br /> '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)'''<br /> Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. <br /> '''Игнорировать свободно с (ignore_free_from_parameter)'''<br /> Частный случай. <br /> '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)'''<br /> Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. <br /> '''Количество VIP-объявлений в колонке (vip_rotator_number)'''<br /> Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. <br /> '''Цена Премиум-объявления за 1 день (premium_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. <br /> '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)'''<br /> Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. <br /> '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)'''<br /> Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. <br /> '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)'''<br /> Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. <br /> '''Цена выделения объявления за 1 день (bold_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. <br /> '''Цена одного поднятия (ups_price)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. <br /> '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)'''<br /> Включить возможность устанавливать статус Спецпредложение в ЛК. <br /> '''Использовать локальную форму добавления объявлений (use_custom_addform)'''<br /> Частный случай. <br /> '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)'''<br /> Тип вывода сетки объявлений по умолчанию. <br /> '''Админ может поднимать объявления (show_up_icon)'''<br /> Включение кнопки поднятия объявления в списке объявлений в админке. <br /> '''Блокировать формы поиска пользователя (block_user_search_forms)'''<br /> Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. <br /> '''Блокировать фронтальные сетки пользователя (block_user_front_grids)'''<br /> Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. <br /> '''Количество похожих объявлений в просмотре объявления (similar_items_count)'''<br /> Количество объявлений которые будут отображены в разделе Похожие объявления. <br /> '''Ширина картинки пользователя (user_pic_width)'''<br /> '''Высота картинки пользователя (user_pic_height)'''<br /> Регулируют размеры аватарки пользователя. <br /> '''Название валюты в личном кабинете (ue_name)'''<br /> Строковое название внутренней валюты ЛК. <br /> '''Формат даты (date_format)'''<br /> В разработке. <br /> '''От чьего email будут отправляться письма с сайта. (system_email)'''<br /> '''Сохранять копию избражений без водяного знака (save_without_watermark)'''<br /> Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. <br /> '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)'''<br /> Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. <br /> '''Использовать встроенный счетчик просмотров (use_realty_view_counter)'''<br /> Включение\отключение встроенного счетчика просмотров объявления <br /> '''Не публиковать объявления из ЛК без премодерации (moderate_first)'''<br /> Принудительно ставит на объявления добавленные или измененные через ЛК статус неактивности. <br /> '''Ширина большой картинки в комплексах (complex_image_big_width)'''<br /> '''Высота большой картинки в комплексах (complex_image_big_height)'''<br /> '''Ширина превью картинки в комплексах (complex_image_preview_width)'''<br /> '''Высота превью картинки в комплексах (complex_image_preview_height)'''<br /> Набор параметров для загружаемых картинок для Жилых комплексов. Применимо к типу поля uploadify_image. <br /> '''Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data)'''<br /> В форме объявления в ЛК позволяет убрать поля контактных данных (имя, телефон, email) связи с их избыточностью. <br /> '''Уведомлять администратора о платежах по email (notify_about_payment)'''<br /> При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. <br /> '''Закрыть сайт (is_underconstruction)'''<br /> Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. <br /> '''IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip)'''<br /> Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. dec12816e2eb30e4e10fe850f2d959fca5bda8df Связанные элементы 0 46 171 2014-06-13T06:58:31Z Abushyk 2 Новая страница: «Связанные элементы - элементы модели, которые на форме обладают характером связанных су…» wikitext text/x-wiki Связанные элементы - элементы модели, которые на форме обладают характером связанных сущностей. Самый привычный пример - это поле выбора Страна и поле выбора Регион, где после выбора конкретной страны набор доступных к выбору регионов усекается до спсика регионов соответствующих выбранной стране. Связь может быть единичной, как в случае Страна-Регион, так и множественной, когда от выбора города на форме изменяется набор доступных к выбору Районов и Станций метро, хотя между собой РАйон и Метро не связаны, они являются дочерними к Городу одновременно. d06b3021f9d4da980b49cd265abf4d3db0ba00f1 172 171 2014-06-13T07:20:43Z Abushyk 2 wikitext text/x-wiki Связанные элементы - элементы модели, которые на форме обладают характером связанных сущностей. Самый привычный пример - это поле выбора Страна и поле выбора Регион, где после выбора конкретной страны набор доступных к выбору регионов усекается до спсика регионов соответствующих выбранной стране. Связь может быть единичной, как в случае Страна-Регион, так и множественной, когда от выбора города на форме изменяется набор доступных к выбору Районов и Станций метро, хотя между собой Район и Метро не связаны, они являются дочерними к Городу одновременно. Для установки связи между элементами необходимо у полях Параметры элемента формы указать соответствующие связи. Связи указываются для обеих элементов, как родительского, так и дочернего. Для указания связей родительского элемента используется параметр linked. Его значения принимают вид пар связей разделенных чтокой с запятой. Например: <pre>street_id,city_id;district_id,city_id</pre> 80b1edd3a591413dd2810f70084bc54286d8abaa 173 172 2014-06-13T08:34:15Z Abushyk 2 wikitext text/x-wiki Связанные элементы - элементы модели, которые на форме обладают характером связанных сущностей. Самый привычный пример - это поле выбора Страна и поле выбора Регион, где после выбора конкретной страны набор доступных к выбору регионов усекается до спсика регионов соответствующих выбранной стране. Связь может быть единичной, как в случае Страна-Регион, так и множественной, когда от выбора города на форме изменяется набор доступных к выбору Районов и Станций метро, хотя между собой Район и Метро не связаны, они являются дочерними к Городу одновременно. Для установки связи между элементами необходимо у полях Параметры элемента формы указать соответствующие связи. Связи указываются для обеих элементов, как родительского, так и дочернего. Для указания связей родительского элемента используется параметр linked. Его значения принимают вид пар связей разделенных чтокой с запятой. Например для поля Город (city_id): <pre>street_id,city_id;district_id,city_id</pre> где указано, что зависимыми от поля Город являются поля с системными именами 2368040d61908b3d8c6a0e5440b4dd91921903a4 174 173 2014-06-13T11:23:18Z Abushyk 2 wikitext text/x-wiki Связанные элементы - элементы модели, которые на форме обладают характером связанных сущностей. Самый привычный пример - это поле выбора Страна и поле выбора Регион, где после выбора конкретной страны набор доступных к выбору регионов усекается до спсика регионов соответствующих выбранной стране. Связь может быть единичной, как в случае Страна-Регион, так и множественной, когда от выбора города на форме изменяется набор доступных к выбору Районов и Станций метро, хотя между собой Район и Метро не связаны, они являются дочерними к Городу одновременно. Для установки связи между элементами необходимо у полях Параметры элемента формы указать соответствующие связи. Связи указываются для обеих элементов, как родительского, так и дочернего. Для указания связей родительского элемента используется параметр linked. Его значения принимают вид пар связей разделенных чтокой с запятой. Например для поля Город (city_id): <pre>street_id,city_id;district_id,city_id</pre> где указано, что зависимыми от поля Город являются поля с системными именами street_id и district_id. При чем первый связан с исходным полем своим значением из колонки city_id, а второй - city_id. Если требуется связать только с одним полем, то связка выглядит короче. Например для поля Страна: <pre>region_id,ccountry_id</pre> Так же необходимо указать обратную связь, от подчиненного элемента к родительскому. Эта связь указывается параметром depended значение которого содержит системное имя родительского поля. Это необходимо для того, что бы подчиненное поле мог сформировать свое содержимое с учетом выбранного значения из родительского поля. Например для Района: <pre>city_id</pre> указывает, что поле выбора Района стоит в зависимости от поля Города. Взаимное указание зависимостей родительского и подчиненного элементов обуславливает целостность связи и должны быть соблюдена. Движок программно не контролирует целостность связей. c28d11868939eaab450cc7a1086e2560a6f3f253 175 174 2014-06-13T11:23:51Z Abushyk 2 wikitext text/x-wiki Связанные элементы - элементы модели, которые на форме обладают характером связанных сущностей. Самый привычный пример - это поле выбора Страна и поле выбора Регион, где после выбора конкретной страны набор доступных к выбору регионов усекается до спсика регионов соответствующих выбранной стране.<br /> Связь может быть единичной, как в случае Страна-Регион, так и множественной, когда от выбора города на форме изменяется набор доступных к выбору Районов и Станций метро, хотя между собой Район и Метро не связаны, они являются дочерними к Городу одновременно.<br /> Для установки связи между элементами необходимо у полях Параметры элемента формы указать соответствующие связи. Связи указываются для обеих элементов, как родительского, так и дочернего.<br /> Для указания связей родительского элемента используется параметр linked. Его значения принимают вид пар связей разделенных чтокой с запятой. Например для поля Город (city_id): <pre>street_id,city_id;district_id,city_id</pre> где указано, что зависимыми от поля Город являются поля с системными именами street_id и district_id. При чем первый связан с исходным полем своим значением из колонки city_id, а второй - city_id.<br /> Если требуется связать только с одним полем, то связка выглядит короче. Например для поля Страна: <pre>region_id,ccountry_id</pre> Так же необходимо указать обратную связь, от подчиненного элемента к родительскому. Эта связь указывается параметром depended значение которого содержит системное имя родительского поля. Это необходимо для того, что бы подчиненное поле мог сформировать свое содержимое с учетом выбранного значения из родительского поля. Например для Района: <pre>city_id</pre> указывает, что поле выбора Района стоит в зависимости от поля Города.<br /> Взаимное указание зависимостей родительского и подчиненного элементов обуславливает целостность связи и должны быть соблюдена. Движок программно не контролирует целостность связей. 6c568914c68ba5cee63d8799a63f3a501b64e2de 176 175 2014-06-13T11:24:16Z Abushyk 2 wikitext text/x-wiki Связанные элементы - элементы модели, которые на форме обладают характером связанных сущностей. Самый привычный пример - это поле выбора Страна и поле выбора Регион, где после выбора конкретной страны набор доступных к выбору регионов усекается до спсика регионов соответствующих выбранной стране.<br /> Связь может быть единичной, как в случае Страна-Регион, так и множественной, когда от выбора города на форме изменяется набор доступных к выбору Районов и Станций метро, хотя между собой Район и Метро не связаны, они являются дочерними к Городу одновременно.<br /> Для установки связи между элементами необходимо у полях Параметры элемента формы указать соответствующие связи. Связи указываются для обеих элементов, как родительского, так и дочернего.<br /> Для указания связей родительского элемента используется параметр '''linked'''. Его значения принимают вид пар связей разделенных чтокой с запятой. Например для поля Город (city_id): <pre>street_id,city_id;district_id,city_id</pre> где указано, что зависимыми от поля Город являются поля с системными именами street_id и district_id. При чем первый связан с исходным полем своим значением из колонки city_id, а второй - city_id.<br /> Если требуется связать только с одним полем, то связка выглядит короче. Например для поля Страна: <pre>region_id,ccountry_id</pre> Так же необходимо указать обратную связь, от подчиненного элемента к родительскому. Эта связь указывается параметром '''depended''' значение которого содержит системное имя родительского поля. Это необходимо для того, что бы подчиненное поле мог сформировать свое содержимое с учетом выбранного значения из родительского поля. Например для Района: <pre>city_id</pre> указывает, что поле выбора Района стоит в зависимости от поля Города.<br /> Взаимное указание зависимостей родительского и подчиненного элементов обуславливает целостность связи и должны быть соблюдена. Движок программно не контролирует целостность связей. 60411cf8f48446fb71410372e667cb9877334992 177 176 2014-06-13T11:26:04Z Abushyk 2 wikitext text/x-wiki '''''Находится в тестовом режиме. Требует включения режима Off system Ajax (Настройки - Дополнительно)''''' Связанные элементы - элементы модели, которые на форме обладают характером связанных сущностей. Самый привычный пример - это поле выбора Страна и поле выбора Регион, где после выбора конкретной страны набор доступных к выбору регионов усекается до спсика регионов соответствующих выбранной стране.<br /> Связь может быть единичной, как в случае Страна-Регион, так и множественной, когда от выбора города на форме изменяется набор доступных к выбору Районов и Станций метро, хотя между собой Район и Метро не связаны, они являются дочерними к Городу одновременно.<br /> Для установки связи между элементами необходимо у полях Параметры элемента формы указать соответствующие связи. Связи указываются для обеих элементов, как родительского, так и дочернего.<br /> Для указания связей родительского элемента используется параметр '''linked'''. Его значения принимают вид пар связей разделенных чтокой с запятой. Например для поля Город (city_id): <pre>street_id,city_id;district_id,city_id</pre> где указано, что зависимыми от поля Город являются поля с системными именами street_id и district_id. При чем первый связан с исходным полем своим значением из колонки city_id, а второй - city_id.<br /> Если требуется связать только с одним полем, то связка выглядит короче. Например для поля Страна: <pre>region_id,ccountry_id</pre> Так же необходимо указать обратную связь, от подчиненного элемента к родительскому. Эта связь указывается параметром '''depended''' значение которого содержит системное имя родительского поля. Это необходимо для того, что бы подчиненное поле мог сформировать свое содержимое с учетом выбранного значения из родительского поля. Например для Района: <pre>city_id</pre> указывает, что поле выбора Района стоит в зависимости от поля Города.<br /> Взаимное указание зависимостей родительского и подчиненного элементов обуславливает целостность связи и должны быть соблюдена. Движок программно не контролирует целостность связей. 9c7d3111c465bdebfbf71c5854dc2ae5cda92a3e 178 177 2014-06-13T11:26:28Z Abushyk 2 wikitext text/x-wiki '''''Находится в тестовом режиме.'''''<br /> '''''Требует включения режима Off system Ajax (Настройки - Дополнительно)''''' <br /> <br /> Связанные элементы - элементы модели, которые на форме обладают характером связанных сущностей. Самый привычный пример - это поле выбора Страна и поле выбора Регион, где после выбора конкретной страны набор доступных к выбору регионов усекается до спсика регионов соответствующих выбранной стране.<br /> Связь может быть единичной, как в случае Страна-Регион, так и множественной, когда от выбора города на форме изменяется набор доступных к выбору Районов и Станций метро, хотя между собой Район и Метро не связаны, они являются дочерними к Городу одновременно.<br /> Для установки связи между элементами необходимо у полях Параметры элемента формы указать соответствующие связи. Связи указываются для обеих элементов, как родительского, так и дочернего.<br /> Для указания связей родительского элемента используется параметр '''linked'''. Его значения принимают вид пар связей разделенных чтокой с запятой. Например для поля Город (city_id): <pre>street_id,city_id;district_id,city_id</pre> где указано, что зависимыми от поля Город являются поля с системными именами street_id и district_id. При чем первый связан с исходным полем своим значением из колонки city_id, а второй - city_id.<br /> Если требуется связать только с одним полем, то связка выглядит короче. Например для поля Страна: <pre>region_id,ccountry_id</pre> Так же необходимо указать обратную связь, от подчиненного элемента к родительскому. Эта связь указывается параметром '''depended''' значение которого содержит системное имя родительского поля. Это необходимо для того, что бы подчиненное поле мог сформировать свое содержимое с учетом выбранного значения из родительского поля. Например для Района: <pre>city_id</pre> указывает, что поле выбора Района стоит в зависимости от поля Города.<br /> Взаимное указание зависимостей родительского и подчиненного элементов обуславливает целостность связи и должны быть соблюдена. Движок программно не контролирует целостность связей. 8086678345708be9f5fa60f0bbe6710e8aa60e6b 179 178 2014-06-13T11:27:29Z Abushyk 2 wikitext text/x-wiki '''''Находится в тестовом режиме.'''''<br /> '''''Требует включения режима Off system Ajax (Настройки - Дополнительно)''''' <br /> <br /> Связанные элементы - элементы модели, которые на форме обладают характером связанных сущностей. Самый привычный пример - это поле выбора Страна и поле выбора Регион, где после выбора конкретной страны набор доступных к выбору регионов усекается до спсика регионов соответствующих выбранной стране.<br /> Связь может быть единичной, как в случае Страна-Регион, так и множественной, когда от выбора города на форме изменяется набор доступных к выбору Районов и Станций метро, хотя между собой Район и Метро не связаны, они являются дочерними к Городу одновременно.<br /> Для установки связи между элементами необходимо у полях Параметры элемента формы указать соответствующие связи. Связи указываются для обеих элементов, как родительского, так и дочернего.<br /> Для указания связей родительского элемента используется параметр '''linked'''. Его значения принимают вид пар связей разделенных чтокой с запятой. Например для поля Город (city_id): <pre>street_id,city_id;district_id,city_id</pre> где указано, что зависимыми от поля Город являются поля с системными именами street_id и district_id. При чем первый связан с исходным полем своим значением из колонки city_id, а второй - city_id.<br /> '''Пробелы в строке значения параметра не допускаются.'''<br /> Если требуется связать только с одним полем, то связка выглядит короче. Например для поля Страна: <pre>region_id,ccountry_id</pre> Так же необходимо указать обратную связь, от подчиненного элемента к родительскому. Эта связь указывается параметром '''depended''' значение которого содержит системное имя родительского поля. Это необходимо для того, что бы подчиненное поле мог сформировать свое содержимое с учетом выбранного значения из родительского поля. Например для Района: <pre>city_id</pre> указывает, что поле выбора Района стоит в зависимости от поля Города.<br /> Взаимное указание зависимостей родительского и подчиненного элементов обуславливает целостность связи и должны быть соблюдена. Движок программно не контролирует целостность связей. 0fe41afbe48251d55e3e8615e27fa49a37ecf701 193 179 2014-06-19T12:32:21Z Abushyk 2 wikitext text/x-wiki '''''Находится в тестовом режиме.'''''<br /> '''''Требует включения режима Off system Ajax (Настройки - Дополнительно)''''' <br /> <br /> Связанные элементы - элементы модели, которые на форме обладают характером связанных сущностей. Самый привычный пример - это поле выбора Страна и поле выбора Регион, где после выбора конкретной страны набор доступных к выбору регионов усекается до спсика регионов соответствующих выбранной стране.<br /> Связь может быть единичной, как в случае Страна-Регион, так и множественной, когда от выбора города на форме изменяется набор доступных к выбору Районов и Станций метро, хотя между собой Район и Метро не связаны, они являются дочерними к Городу одновременно.<br /> Для установки связи между элементами необходимо у полях Параметры элемента формы указать соответствующие связи. Связи указываются для обеих элементов, как родительского, так и дочернего.<br /> Для указания связей родительского элемента используется параметр '''linked'''. Его значения принимают вид пар связей разделенных чтокой с запятой. Например для поля Город (city_id): <pre>street_id,city_id;district_id,city_id</pre> где указано, что зависимыми от поля Город являются поля с системными именами street_id и district_id. При чем первый связан с исходным полем своим значением из колонки city_id, а второй - city_id.<br /> '''Пробелы в строке значения параметра не допускаются.'''<br /> Если требуется связать только с одним полем, то связка выглядит короче. Например для поля Страна: <pre>region_id,country_id</pre> Так же необходимо указать обратную связь, от подчиненного элемента к родительскому. Эта связь указывается параметром '''depended''' значение которого содержит системное имя родительского поля. Это необходимо для того, что бы подчиненное поле мог сформировать свое содержимое с учетом выбранного значения из родительского поля. Например для Района: <pre>city_id</pre> указывает, что поле выбора Района стоит в зависимости от поля Города.<br /> Взаимное указание зависимостей родительского и подчиненного элементов обуславливает целостность связи и должны быть соблюдена. Движок программно не контролирует целостность связей. 144d4ea3bae68c508a2aec4e780d7822a20f2a3d 194 193 2014-06-21T16:43:52Z Abushyk 2 wikitext text/x-wiki '''''Находится в тестовом режиме.'''''<br /> '''''Требует включения режима Off system Ajax (Настройки - Дополнительно)''''' <br /> <br /> Связанные элементы - элементы модели, которые на форме обладают характером связанных сущностей. Самый привычный пример - это поле выбора Страна и поле выбора Регион, где, после выбора конкретной страны, набор доступных к выбору регионов усекается до списка регионов, соответствующих выбранной стране.<br /> Связь может быть единичной, как в случае Страна-Регион, так и множественной, когда, от выбора города на форме, изменяется набор, доступных к выбору, Районов и Станций метро, хотя, между собой, Район и Метро не связаны - они являются дочерними к Городу одновременно.<br /> Для установки связи между элементами необходимо в полях Параметры элемента формы указать соответствующие связи. Связи указываются для обеих элементов, как родительского, так и дочернего.<br /> Для указания связей родительского элемента используется параметр '''linked'''. Его значения принимают вид пар связей разделенных точкой с запятой. Например, для поля Город (city_id): <pre>street_id,city_id;district_id,city_id</pre> где указано, что зависимыми от поля Город являются поля с системными именами street_id и district_id. При чем, первый связан с исходным полем своим значением из колонки city_id, а второй - city_id.<br /> '''Пробелы в строке значения параметра не допускаются.'''<br /> Если требуется связать только с одним полем, то связка выглядит короче. Например, для поля Страна: <pre>region_id,country_id</pre> Так же необходимо указать обратную связь, от подчиненного элемента к родительскому. Эта связь указывается параметром '''depended''', значение которого содержит системное имя родительского поля. Это необходимо для того, что бы подчиненное поле могло сформировать свое содержимое с учетом выбранного значения из родительского поля. Например, для Района: <pre>city_id</pre> указывает, что поле выбора Района стоит в зависимости от поля Города.<br /> Взаимное указание зависимостей родительского и подчиненного элементов обуславливает целостность связи и должно быть соблюдено. Движок программно не контролирует целостность связей. 1ba1a20459e7de5c54efa31e92933b6bfccbaae7 Заглавная страница 0 1 186 134 2014-06-16T21:02:57Z Abushyk 2 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Общие настройки]]<br /> [[Связанные элементы]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[mail|Настройка отправки писем с сайта]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Перевод|Перевод контента на другие языки]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 2d86eca695103a500c9782a5c6294e620adedc5d 187 186 2014-06-17T07:39:12Z Abushyk 2 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Типы элементов форм]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Общие настройки]]<br /> [[Связанные элементы]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[mail|Настройка отправки писем с сайта]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Перевод|Перевод контента на другие языки]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. c3eb472ebdc63c6e376ec62d273d8ca5ca803561 188 187 2014-06-17T07:43:24Z Abushyk 2 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Типы элементов форм]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Шаблон]]<br /> [[Общие настройки]]<br /> [[Связанные элементы]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[mail|Настройка отправки писем с сайта]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Перевод|Перевод контента на другие языки]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 243f8935af6b8faada2c2115af0ba4be3bc73614 Приложение "Экспорт в PDF" 0 47 196 2014-06-23T04:45:04Z Kondin 1 Новая страница: «Приложение предназначено для экспорта объявлений в формат PDF.<br /> Файлы PDF легко распечат…» wikitext text/x-wiki Приложение предназначено для экспорта объявлений в формат PDF.<br /> Файлы PDF легко распечатать на принтере.<br /> <br /> '''Установка'''<br /> # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <br /> <small>{if $apps_pdfreport_enabled==1} <div class="es"><a href="?format=pdf" class="btn"><i class="icon icon-print"></i> Печать</a></div> {/if} </small><br /> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <small>/apps/pdfreport/admin/template/realty_view.tpl</small><br /> сюда<br /> <small>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</small><br /><br /> В этом новом файле вы можете добавить свои контактные данные и логотип компании. e97e829480da19cf22d66ab3c1edf840bc56e904 Парсер формата MLS 0 48 197 2014-06-23T17:32:52Z Abushyk 2 Новая страница: «Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформирован…» wikitext text/x-wiki Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформированных согласно требованиям MLS. Загрузка данных осуществляется в два этапа: 1. Загрузка собственно данных. 2. Загрузка изображений. Загрузка данных. Загрузка данных происходит из XML файла. Предварительно, файл с данными должен быть помещен на сервер в папку, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Файл должен быть валидным документом XML и иметь расширение '.xml'. В имени файла могут содержаться цифры, латинские буквы и подчеркивание. После этого может быть вызван парсер данных. Парсер вызывается GET-запросом по адресу http://сайт/apps/mlsparser/parser.php Вместе с вызовом в переменной запроса '''file''' необходимо передать имя файла с данными (имя передается без расширения файла). Пример: http://somesite.ru/apps/mlsparser/parser.php?file=data_20140621, где будет предпринята попытка распарсить и импортировать в сайт данные из файла http://somesite.ru/cache/upl/data_20140621.xml В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера. Данные загружаются с учетом существования. Каждая запись из исходного файла будет сличена с уже существующими в сайте записями и, при наличии существующей аналогичной, будет произведено обновление записи. В противном случае - вставка. Существование записей проверяется по ключу уникальности. Ключ уникальности - это строка состоящая из трех частей - значений полей uniq_id, internal_type_id и user_id соединенных подчеркиванием. Например: 678_3_25 Соответствующие данные должны быть переданы с данными в XML загружаемого файла, либо указаны в [[Параметры приложения apps.mlsparser|настройках]] приложения. f01e70581e1915c5ac1fe897485f1207aa4e17ad 198 197 2014-06-23T17:33:35Z Abushyk 2 wikitext text/x-wiki Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформированных согласно требованиям MLS. Загрузка данных осуществляется в два этапа: 1. Загрузка собственно данных. 2. Загрузка изображений. Загрузка данных. Загрузка данных происходит из XML файла. Предварительно, файл с данными должен быть помещен на сервер в папку, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Файл должен быть валидным документом XML и иметь расширение '.xml'. В имени файла могут содержаться цифры, латинские буквы и подчеркивание. После этого может быть вызван парсер данных. Парсер вызывается GET-запросом по адресу http://сайт/apps/mlsparser/parser.php Вместе с вызовом в переменной запроса '''file''' необходимо передать имя файла с данными (имя передается без расширения файла). Пример: <pre>http://somesite.ru/apps/mlsparser/parser.php?file=data_20140621</pre> , где будет предпринята попытка распарсить и импортировать в сайт данные из файла http://somesite.ru/cache/upl/data_20140621.xml В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера. Данные загружаются с учетом существования. Каждая запись из исходного файла будет сличена с уже существующими в сайте записями и, при наличии существующей аналогичной, будет произведено обновление записи. В противном случае - вставка. Существование записей проверяется по ключу уникальности. Ключ уникальности - это строка состоящая из трех частей - значений полей uniq_id, internal_type_id и user_id соединенных подчеркиванием. Например: 678_3_25 Соответствующие данные должны быть переданы с данными в XML загружаемого файла, либо указаны в [[Параметры приложения apps.mlsparser|настройках]] приложения. fb7f2ae5c86ccf9764136c89b5e75108cca5f238 199 198 2014-06-23T17:35:00Z Abushyk 2 wikitext text/x-wiki Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформированных согласно требованиям MLS. <br /> Загрузка данных осуществляется в два этапа:<br /> 1. Загрузка собственно данных.<br /> 2. Загрузка изображений.<br /> === Загрузка данных. === Загрузка данных происходит из XML файла. Предварительно, файл с данными должен быть помещен на сервер в папку, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Файл должен быть валидным документом XML и иметь расширение '.xml'. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> После этого может быть вызван парсер данных. Парсер вызывается GET-запросом по адресу http://сайт/apps/mlsparser/parser.php Вместе с вызовом в переменной запроса '''file''' необходимо передать имя файла с данными (имя передается без расширения файла).<br /> Пример: <pre>http://somesite.ru/apps/mlsparser/parser.php?file=data_20140621</pre> , где будет предпринята попытка распарсить и импортировать в сайт данные из файла <pre>http://somesite.ru/cache/upl/data_20140621.xml</pre> В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера.<br /> Данные загружаются с учетом существования. Каждая запись из исходного файла будет сличена с уже существующими в сайте записями и, при наличии существующей аналогичной, будет произведено обновление записи. В противном случае - вставка.<br /> Существование записей проверяется по ключу уникальности. Ключ уникальности - это строка состоящая из трех частей - значений полей uniq_id, internal_type_id и user_id соединенных подчеркиванием. <br /> Например: <pre>678_3_25</pre> Соответствующие данные должны быть переданы с данными в XML загружаемого файла, либо указаны в [[Параметры приложения apps.mlsparser|настройках]] приложения. 07450bcee67095e40862975ddcf9f2874cb8be48 200 199 2014-06-23T17:35:31Z Abushyk 2 wikitext text/x-wiki Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформированных согласно требованиям MLS. <br /> Загрузка данных осуществляется в два этапа:<br /> 1. Загрузка собственно данных.<br /> 2. Загрузка изображений.<br /> === Загрузка данных. === Загрузка данных происходит из XML файла. Предварительно, файл с данными должен быть помещен на сервер в папку, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Файл должен быть валидным документом XML и иметь расширение '.xml'. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> После этого может быть вызван парсер данных. Парсер вызывается GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/parser.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя файла с данными (имя передается без расширения файла).<br /> Пример: <pre>http://somesite.ru/apps/mlsparser/parser.php?file=data_20140621</pre> , где будет предпринята попытка распарсить и импортировать в сайт данные из файла <pre>http://somesite.ru/cache/upl/data_20140621.xml</pre> В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера.<br /> Данные загружаются с учетом существования. Каждая запись из исходного файла будет сличена с уже существующими в сайте записями и, при наличии существующей аналогичной, будет произведено обновление записи. В противном случае - вставка.<br /> Существование записей проверяется по ключу уникальности. Ключ уникальности - это строка состоящая из трех частей - значений полей uniq_id, internal_type_id и user_id соединенных подчеркиванием. <br /> Например: <pre>678_3_25</pre> Соответствующие данные должны быть переданы с данными в XML загружаемого файла, либо указаны в [[Параметры приложения apps.mlsparser|настройках]] приложения. 5e661a3d9fadd55419aedc053df1ded67e40fc72 201 200 2014-06-23T17:41:07Z Abushyk 2 wikitext text/x-wiki Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформированных согласно требованиям MLS. <br /> Загрузка данных осуществляется в два этапа:<br /> 1. Загрузка собственно данных.<br /> 2. Загрузка изображений.<br /> === Загрузка данных. === Загрузка данных происходит из XML файла. Предварительно, файл с данными должен быть помещен на сервер в папку, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Файл должен быть валидным документом XML и иметь расширение '.xml'. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> После этого может быть вызван парсер данных. Парсер вызывается GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/parser.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя файла с данными (имя передается без расширения файла).<br /> Пример: <pre>http://somesite.ru/apps/mlsparser/parser.php?file=data_20140621</pre> , где будет предпринята попытка распарсить и импортировать в сайт данные из файла <pre>http://somesite.ru/cache/upl/data_20140621.xml</pre> В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера.<br /> Данные загружаются с учетом существования. Каждая запись из исходного файла будет сличена с уже существующими в сайте записями и, при наличии существующей аналогичной, будет произведено обновление записи. В противном случае - вставка.<br /> Существование записей проверяется по ключу уникальности. Ключ уникальности - это строка состоящая из трех частей - значений полей uniq_id, internal_type_id и user_id соединенных подчеркиванием. <br /> Например: <pre>678_3_25</pre> Соответствующие данные должны быть переданы с данными в XML загружаемого файла, либо указаны в [[Параметры приложения apps.mlsparser|настройках]] приложения.<br /> === Загрузка изображений. === Загрузка данных происходит из ZIP-архива. Предварительно, фотографии должен быть помещены на сервер в ZIP-архиве, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Архив должен быть одноуровневым, не содержать внутри вложенных папок, а только загружаемые изображения. Файл должен иметь расширение '.zip' и являться правильным архивом формата ZIP. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> e9781a007254de4b0776c555b17226b32207f238 202 201 2014-06-23T17:45:14Z Abushyk 2 wikitext text/x-wiki Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформированных согласно требованиям MLS. <br /> Загрузка данных осуществляется в два этапа:<br /> 1. Загрузка собственно данных.<br /> 2. Загрузка изображений.<br /> === Загрузка данных. === Загрузка данных происходит из XML файла. Предварительно, файл с данными должен быть помещен на сервер в папку, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Файл должен быть валидным документом XML и иметь расширение '.xml'. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> После этого может быть вызван парсер данных. Парсер вызывается GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/parser.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя файла с данными (имя передается без расширения файла).<br /> Пример: <pre>http://somesite.ru/apps/mlsparser/parser.php?file=data_20140621</pre> , где будет предпринята попытка распарсить и импортировать в сайт данные из файла <pre>http://somesite.ru/cache/upl/data_20140621.xml</pre> В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера.<br /> Данные загружаются с учетом существования. Каждая запись из исходного файла будет сличена с уже существующими в сайте записями и, при наличии существующей аналогичной, будет произведено обновление записи. В противном случае - вставка.<br /> Существование записей проверяется по ключу уникальности. Ключ уникальности - это строка состоящая из трех частей - значений полей uniq_id, internal_type_id и user_id соединенных подчеркиванием. <br /> Например: <pre>678_3_25</pre> Соответствующие данные должны быть переданы с данными в XML загружаемого файла, либо указаны в [[Параметры приложения apps.mlsparser|настройках]] приложения.<br /> === Загрузка изображений. === Загрузка данных происходит из ZIP-архива. Предварительно, фотографии должен быть помещены на сервер в ZIP-архиве, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Архив должен быть одноуровневым, не содержать внутри вложенных папок, а только загружаемые изображения. Файл должен иметь расширение '.zip' и являться правильным архивом формата ZIP. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> Запуск загрузчика изображений производится GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/photo.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя архива с изображениями (имя передается с или без расширения файла).<br /> Пример: <pre> http://somesite.ru/apps/mlsparser/parser.php?file=img_data_20140621 http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621.zip </pre> , где будет предпринята попытка распарсить и импортировать в сайт данные из файла <pre>http://somesite.ru/cache/upl/data_20140621.xml</pre> В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера.<br /> 33eaffb70baa40db635db3c32561bb7de54adbfc Парсер формата MLS 0 48 203 202 2014-06-23T17:47:02Z Abushyk 2 wikitext text/x-wiki Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформированных согласно требованиям MLS. <br /> Загрузка данных осуществляется в два этапа:<br /> 1. Загрузка собственно данных.<br /> 2. Загрузка изображений.<br /> === Загрузка данных. === Загрузка данных происходит из XML файла. Предварительно, файл с данными должен быть помещен на сервер в папку, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Файл должен быть валидным документом XML и иметь расширение '.xml'. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> После этого может быть вызван парсер данных. Парсер вызывается GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/parser.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя файла с данными (имя передается без расширения файла).<br /> Пример: <pre>http://somesite.ru/apps/mlsparser/parser.php?file=data_20140621</pre> , где будет предпринята попытка распарсить и импортировать в сайт данные из файла <pre>http://somesite.ru/cache/upl/data_20140621.xml</pre> В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера.<br /> Данные загружаются с учетом существования. Каждая запись из исходного файла будет сличена с уже существующими в сайте записями и, при наличии существующей аналогичной, будет произведено обновление записи. В противном случае - вставка.<br /> Существование записей проверяется по ключу уникальности. Ключ уникальности - это строка состоящая из трех частей - значений полей uniq_id, internal_type_id и user_id соединенных подчеркиванием. <br /> Например: <pre>678_3_25</pre> Соответствующие данные должны быть переданы с данными в XML загружаемого файла, либо указаны в [[Параметры приложения apps.mlsparser|настройках]] приложения.<br /> === Загрузка изображений. === Загрузка данных происходит из ZIP-архива. Предварительно, фотографии должен быть помещены на сервер в ZIP-архиве, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Архив должен быть одноуровневым, не содержать внутри вложенных папок, а только загружаемые изображения. Файл должен иметь расширение '.zip' и являться правильным архивом формата ZIP. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> Запуск загрузчика изображений производится GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/photo.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя архива с изображениями (имя передается с или без расширения файла).<br /> Пример: <pre> http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621 или http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621.zip </pre> , где будет предпринята попытка загрузить всцществующие на сайте объявления соответствующие изображения из файла <pre>http://somesite.ru/cache/upl/img_data_20140621.zip</pre> По завершении импорта изображений, исходный файл с данными будет удален с сервера.<br /> 77a396f77b75b1342f605f92befb55d742926c82 204 203 2014-06-23T17:59:17Z Abushyk 2 wikitext text/x-wiki Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформированных согласно требованиям MLS. <br /> Загрузка данных осуществляется в два этапа:<br /> 1. Загрузка собственно данных.<br /> 2. Загрузка изображений.<br /> === Загрузка данных. === Загрузка данных происходит из XML файла. Предварительно, файл с данными должен быть помещен на сервер в папку, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Файл должен быть валидным документом XML и иметь расширение '.xml'. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> После этого может быть вызван парсер данных. Парсер вызывается GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/parser.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя файла с данными (имя передается без расширения файла).<br /> Пример: <pre>http://somesite.ru/apps/mlsparser/parser.php?file=data_20140621</pre> , где будет предпринята попытка распарсить и импортировать в сайт данные из файла <pre>http://somesite.ru/cache/upl/data_20140621.xml</pre> В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера.<br /> Данные загружаются с учетом существования. Каждая запись из исходного файла будет сличена с уже существующими в сайте записями и, при наличии существующей аналогичной, будет произведено обновление записи. В противном случае - вставка.<br /> Существование записей проверяется по ключу уникальности. Ключ уникальности - это строка состоящая из трех частей - значений полей uniq_id, internal_type_id и user_id соединенных подчеркиванием. <br /> Например: <pre>678_3_25</pre> Соответствующие данные должны быть переданы с данными в XML загружаемого файла, либо указаны в [[Параметры приложения apps.mlsparser|настройках]] приложения.<br /> Загрузка географических данных, в данный момент, производится в несвязанном виде. Передав в данных об положении объекта в Страна:"Россия", Регион:"Калининградская область", вы добьетесь того, что в данных объекта будут указаны соответствующие страна и регион, но между собой они не будут связаны, если только они уже не были связаны, либо вы их не свяжете в последствии.<br /> === Загрузка изображений. === Загрузка данных происходит из ZIP-архива. Предварительно, фотографии должен быть помещены на сервер в ZIP-архиве, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Архив должен быть одноуровневым, не содержать внутри вложенных папок, а только загружаемые изображения. Файл должен иметь расширение '.zip' и являться правильным архивом формата ZIP. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> Запуск загрузчика изображений производится GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/photo.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя архива с изображениями (имя передается с или без расширения файла).<br /> Пример: <pre> http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621 или http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621.zip </pre> , где будет предпринята попытка загрузить в существующие на сайте объявления соответствующие изображения из файла <pre>http://somesite.ru/cache/upl/img_data_20140621.zip</pre> По завершении импорта изображений, исходный файл с данными будет удален с сервера.<br /> Принцип формирования имен изображения для загрузки описан в [[Параметры приложения apps.mlsparser]]<br /> При загрузке изображений для некоторого объявления изменению будут подвергнуты изображения ТОЛЬКО этого объявления. Если будет передана в архиве хоть одно изображение, привязанные до этого момента изображения к объявлению, будут удалены и новые будут добавлены. Иными словами происходит полная замена изображений.<br /> Если переданы изображения для объявления, которое нет или невозможно идентифицировать на сайте по параметрам, переданым в названиях картинок, вставка или обновление не будут проведены.<br /> Если вы не передавали изображений к конкретному объявлению, то его изображения не подвергнутся изменению.<br /> Загрузка изображений в данный момент поддерживается только для способа хранения изображений в элементе типа uploadify_image<br /> c32cdf077026b52b261d2ffd503c4ecac6f157d8 207 204 2014-06-23T18:03:10Z Abushyk 2 wikitext text/x-wiki == Страница дубль. Удалить. == Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформированных согласно требованиям MLS. <br /> Загрузка данных осуществляется в два этапа:<br /> 1. Загрузка собственно данных.<br /> 2. Загрузка изображений.<br /> === Загрузка данных. === Загрузка данных происходит из XML файла. Предварительно, файл с данными должен быть помещен на сервер в папку, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Файл должен быть валидным документом XML и иметь расширение '.xml'. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> После этого может быть вызван парсер данных. Парсер вызывается GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/parser.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя файла с данными (имя передается без расширения файла).<br /> Пример: <pre>http://somesite.ru/apps/mlsparser/parser.php?file=data_20140621</pre> , где будет предпринята попытка распарсить и импортировать в сайт данные из файла <pre>http://somesite.ru/cache/upl/data_20140621.xml</pre> В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера.<br /> Данные загружаются с учетом существования. Каждая запись из исходного файла будет сличена с уже существующими в сайте записями и, при наличии существующей аналогичной, будет произведено обновление записи. В противном случае - вставка.<br /> Существование записей проверяется по ключу уникальности. Ключ уникальности - это строка состоящая из трех частей - значений полей uniq_id, internal_type_id и user_id соединенных подчеркиванием. <br /> Например: <pre>678_3_25</pre> Соответствующие данные должны быть переданы с данными в XML загружаемого файла, либо указаны в [[Параметры приложения apps.mlsparser|настройках]] приложения.<br /> Загрузка географических данных, в данный момент, производится в несвязанном виде. Передав в данных об положении объекта в Страна:"Россия", Регион:"Калининградская область", вы добьетесь того, что в данных объекта будут указаны соответствующие страна и регион, но между собой они не будут связаны, если только они уже не были связаны, либо вы их не свяжете в последствии.<br /> === Загрузка изображений. === Загрузка данных происходит из ZIP-архива. Предварительно, фотографии должен быть помещены на сервер в ZIP-архиве, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Архив должен быть одноуровневым, не содержать внутри вложенных папок, а только загружаемые изображения. Файл должен иметь расширение '.zip' и являться правильным архивом формата ZIP. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> Запуск загрузчика изображений производится GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/photo.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя архива с изображениями (имя передается с или без расширения файла).<br /> Пример: <pre> http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621 или http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621.zip </pre> , где будет предпринята попытка загрузить в существующие на сайте объявления соответствующие изображения из файла <pre>http://somesite.ru/cache/upl/img_data_20140621.zip</pre> По завершении импорта изображений, исходный файл с данными будет удален с сервера.<br /> Принцип формирования имен изображения для загрузки описан в [[Параметры приложения apps.mlsparser]]<br /> При загрузке изображений для некоторого объявления изменению будут подвергнуты изображения ТОЛЬКО этого объявления. Если будет передана в архиве хоть одно изображение, привязанные до этого момента изображения к объявлению, будут удалены и новые будут добавлены. Иными словами происходит полная замена изображений.<br /> Если переданы изображения для объявления, которое нет или невозможно идентифицировать на сайте по параметрам, переданым в названиях картинок, вставка или обновление не будут проведены.<br /> Если вы не передавали изображений к конкретному объявлению, то его изображения не подвергнутся изменению.<br /> Загрузка изображений в данный момент поддерживается только для способа хранения изображений в элементе типа uploadify_image<br /> eade0c68ec630e2c839e782343f6e8d2f514d604 208 207 2014-06-23T18:03:20Z Abushyk 2 wikitext text/x-wiki == Страница дубль. Удалить. == Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформированных согласно требованиям MLS. <br /> Загрузка данных осуществляется в два этапа:<br /> 1. Загрузка собственно данных.<br /> 2. Загрузка изображений.<br /> === Загрузка данных. === Загрузка данных происходит из XML файла. Предварительно, файл с данными должен быть помещен на сервер в папку, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Файл должен быть валидным документом XML и иметь расширение '.xml'. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> После этого может быть вызван парсер данных. Парсер вызывается GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/parser.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя файла с данными (имя передается без расширения файла).<br /> Пример: <pre>http://somesite.ru/apps/mlsparser/parser.php?file=data_20140621</pre> , где будет предпринята попытка распарсить и импортировать в сайт данные из файла <pre>http://somesite.ru/cache/upl/data_20140621.xml</pre> В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера.<br /> Данные загружаются с учетом существования. Каждая запись из исходного файла будет сличена с уже существующими в сайте записями и, при наличии существующей аналогичной, будет произведено обновление записи. В противном случае - вставка.<br /> Существование записей проверяется по ключу уникальности. Ключ уникальности - это строка состоящая из трех частей - значений полей uniq_id, internal_type_id и user_id соединенных подчеркиванием. <br /> Например: <pre>678_3_25</pre> Соответствующие данные должны быть переданы с данными в XML загружаемого файла, либо указаны в [[Параметры приложения apps.mlsparser|настройках]] приложения.<br /> Загрузка географических данных, в данный момент, производится в несвязанном виде. Передав в данных об положении объекта в Страна:"Россия", Регион:"Калининградская область", вы добьетесь того, что в данных объекта будут указаны соответствующие страна и регион, но между собой они не будут связаны, если только они уже не были связаны, либо вы их не свяжете в последствии.<br /> === Загрузка изображений. === Загрузка данных происходит из ZIP-архива. Предварительно, фотографии должен быть помещены на сервер в ZIP-архиве, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Архив должен быть одноуровневым, не содержать внутри вложенных папок, а только загружаемые изображения. Файл должен иметь расширение '.zip' и являться правильным архивом формата ZIP. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> Запуск загрузчика изображений производится GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/photo.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя архива с изображениями (имя передается с или без расширения файла).<br /> Пример: <pre> http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621 или http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621.zip </pre> , где будет предпринята попытка загрузить в существующие на сайте объявления соответствующие изображения из файла <pre>http://somesite.ru/cache/upl/img_data_20140621.zip</pre> По завершении импорта изображений, исходный файл с данными будет удален с сервера.<br /> Принцип формирования имен изображения для загрузки описан в [[Параметры приложения apps.mlsparser]]<br /> При загрузке изображений для некоторого объявления изменению будут подвергнуты изображения ТОЛЬКО этого объявления. Если будет передана в архиве хоть одно изображение, привязанные до этого момента изображения к объявлению, будут удалены и новые будут добавлены. Иными словами происходит полная замена изображений.<br /> Если переданы изображения для объявления, которое нет или невозможно идентифицировать на сайте по параметрам, переданым в названиях картинок, вставка или обновление не будут проведены.<br /> Если вы не передавали изображений к конкретному объявлению, то его изображения не подвергнутся изменению.<br /> Загрузка изображений в данный момент поддерживается только для способа хранения изображений в элементе типа uploadify_image<br /> a38610e6868666066c5cffe63cdb3c975a99e418 Приложения 0 6 205 195 2014-06-23T18:00:17Z Abushyk 2 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Cian.ru"|Приложение "Выгрузка Cian.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) e6b267ed865cc3162dff8ea00d36e6007da72b69 223 205 2014-07-07T14:21:34Z Abushyk 2 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Cian.ru"|Приложение "Выгрузка Cian.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) fba6ce5afd2fe39a9d25bb845832636c87bbd4b8 238 223 2014-10-16T05:52:07Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Cian.ru"|Приложение "Выгрузка Cian.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "API"|apps.api]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) a2d11a35aa011135f448905f643787f27a4d4b31 239 238 2014-10-16T05:53:03Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Cian.ru"|Приложение "Выгрузка Cian.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[apps.api|Приложение "API"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) e6339a0ed84e553f01b47923de06355fb6bff1e8 Приложение "Парсер формата MLS" 0 10 206 40 2014-06-23T18:01:49Z Abushyk 2 wikitext text/x-wiki Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформированных согласно требованиям MLS. <br /> Загрузка данных осуществляется в два этапа:<br /> 1. Загрузка собственно данных.<br /> 2. Загрузка изображений.<br /> === Загрузка данных. === Загрузка данных происходит из XML файла. Предварительно, файл с данными должен быть помещен на сервер в папку, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Файл должен быть валидным документом XML и иметь расширение '.xml'. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> После этого может быть вызван парсер данных. Парсер вызывается GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/parser.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя файла с данными (имя передается без расширения файла).<br /> Пример: <pre>http://somesite.ru/apps/mlsparser/parser.php?file=data_20140621</pre> , где будет предпринята попытка распарсить и импортировать в сайт данные из файла <pre>http://somesite.ru/cache/upl/data_20140621.xml</pre> В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера.<br /> Данные загружаются с учетом существования. Каждая запись из исходного файла будет сличена с уже существующими в сайте записями и, при наличии существующей аналогичной, будет произведено обновление записи. В противном случае - вставка.<br /> Существование записей проверяется по ключу уникальности. Ключ уникальности - это строка состоящая из трех частей - значений полей uniq_id, internal_type_id и user_id соединенных подчеркиванием. <br /> Например: <pre>678_3_25</pre> Соответствующие данные должны быть переданы с данными в XML загружаемого файла, либо указаны в [[Параметры приложения apps.mlsparser|настройках]] приложения.<br /> Загрузка географических данных, в данный момент, производится в несвязанном виде. Передав в данных об положении объекта в Страна:"Россия", Регион:"Калининградская область", вы добьетесь того, что в данных объекта будут указаны соответствующие страна и регион, но между собой они не будут связаны, если только они уже не были связаны, либо вы их не свяжете в последствии.<br /> === Загрузка изображений. === Загрузка данных происходит из ZIP-архива. Предварительно, фотографии должен быть помещены на сервер в ZIP-архиве, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Архив должен быть одноуровневым, не содержать внутри вложенных папок, а только загружаемые изображения. Файл должен иметь расширение '.zip' и являться правильным архивом формата ZIP. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> Запуск загрузчика изображений производится GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/photo.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя архива с изображениями (имя передается с или без расширения файла).<br /> Пример: <pre> http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621 или http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621.zip </pre> , где будет предпринята попытка загрузить в существующие на сайте объявления соответствующие изображения из файла <pre>http://somesite.ru/cache/upl/img_data_20140621.zip</pre> По завершении импорта изображений, исходный файл с данными будет удален с сервера.<br /> Принцип формирования имен изображения для загрузки описан в [[Параметры приложения apps.mlsparser]]<br /> При загрузке изображений для некоторого объявления изменению будут подвергнуты изображения ТОЛЬКО этого объявления. Если будет передана в архиве хоть одно изображение, привязанные до этого момента изображения к объявлению, будут удалены и новые будут добавлены. Иными словами происходит полная замена изображений.<br /> Если переданы изображения для объявления, которое нет или невозможно идентифицировать на сайте по параметрам, переданым в названиях картинок, вставка или обновление не будут проведены.<br /> Если вы не передавали изображений к конкретному объявлению, то его изображения не подвергнутся изменению.<br /> Загрузка изображений в данный момент поддерживается только для способа хранения изображений в элементе типа uploadify_image<br /> c32cdf077026b52b261d2ffd503c4ecac6f157d8 209 206 2014-06-23T18:03:59Z Abushyk 2 wikitext text/x-wiki Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформированных согласно требованиям MLS. <br /> Загрузка данных осуществляется в два этапа:<br /> 1. Загрузка собственно данных.<br /> 2. Загрузка изображений.<br /> === Загрузка данных. === Загрузка данных происходит из XML файла. Предварительно, файл с данными должен быть помещен на сервер в папку, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Файл должен быть валидным документом XML и иметь расширение '.xml'. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> После этого может быть вызван парсер данных. Парсер вызывается GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/parser.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя файла с данными (имя передается без расширения файла).<br /> Пример: <pre>http://somesite.ru/apps/mlsparser/parser.php?file=data_20140621</pre> , где будет предпринята попытка распарсить и импортировать в сайт данные из файла <pre>http://somesite.ru/cache/upl/data_20140621.xml</pre> В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера.<br /> Данные загружаются с учетом существования. Каждая запись из исходного файла будет сличена с уже существующими в сайте записями и, при наличии существующей аналогичной, будет произведено обновление записи. В противном случае - вставка.<br /> Существование записей проверяется по ключу уникальности. Ключ уникальности - это строка состоящая из трех частей - значений полей uniq_id, internal_type_id и user_id соединенных подчеркиванием. <br /> Например: <pre>678_3_25</pre> Соответствующие данные должны быть переданы с данными в XML загружаемого файла, либо указаны в [[Параметры приложения apps.mlsparser|настройках]] приложения.<br /> Загрузка географических данных, в данный момент, производится в несвязанном виде. Передав в данных об положении объекта в Страна:"Россия", Регион:"Калининградская область", вы добьетесь того, что в данных объекта будут указаны соответствующие страна и регион, но между собой они не будут связаны, если только они уже не были связаны, либо вы их не свяжете в последствии.<br /> === Загрузка изображений. === Загрузка данных происходит из ZIP-архива. Предварительно, фотографии должен быть помещены на сервер в ZIP-архиве, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Архив должен быть одноуровневым, не содержать внутри вложенных папок, а только загружаемые изображения. Файл должен иметь расширение '.zip' и являться правильным архивом формата ZIP. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> Запуск загрузчика изображений производится GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/photo.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя архива с изображениями (имя передается с или без расширения файла).<br /> Пример: <pre> http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621 или http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621.zip </pre> , где будет предпринята попытка загрузить в существующие на сайте объявления соответствующие изображения из файла <pre>http://somesite.ru/cache/upl/img_data_20140621.zip</pre> По завершении импорта изображений, исходный файл с данными будет удален с сервера.<br /> Принцип формирования имен изображения для загрузки описан в [[Параметры приложения apps.mlsparser]]<br /> При загрузке изображений для некоторого объявления изменению будут подвергнуты изображения ТОЛЬКО этого объявления. Если будет передана в архиве хоть одно изображение, привязанные до этого момента изображения к объявлению, будут удалены и новые будут добавлены. Иными словами происходит полная замена изображений.<br /> Если переданы изображения для объявления, которое нет или невозможно идентифицировать на сайте по параметрам, переданым в названиях картинок, вставка или обновление не будут проведены.<br /> Если вы не передавали изображений к конкретному объявлению, то его изображения не подвергнутся изменению.<br /> Загрузка изображений в данный момент поддерживается только для способа хранения изображений в элементе типа uploadify_image<br /> == Дополнительно == [[Параметры приложения apps.mlsparser]] 95159f7f656d03e6528ec0d7be218f732d39312a 210 209 2014-06-23T18:04:31Z Abushyk 2 wikitext text/x-wiki Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформированных согласно требованиям MLS. <br /> Загрузка данных осуществляется в два этапа:<br /> 1. Загрузка собственно данных.<br /> 2. Загрузка изображений.<br /> == Загрузка данных. == Загрузка данных происходит из XML файла. Предварительно, файл с данными должен быть помещен на сервер в папку, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Файл должен быть валидным документом XML и иметь расширение '.xml'. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> После этого может быть вызван парсер данных. Парсер вызывается GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/parser.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя файла с данными (имя передается без расширения файла).<br /> Пример: <pre>http://somesite.ru/apps/mlsparser/parser.php?file=data_20140621</pre> , где будет предпринята попытка распарсить и импортировать в сайт данные из файла <pre>http://somesite.ru/cache/upl/data_20140621.xml</pre> В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера.<br /> Данные загружаются с учетом существования. Каждая запись из исходного файла будет сличена с уже существующими в сайте записями и, при наличии существующей аналогичной, будет произведено обновление записи. В противном случае - вставка.<br /> Существование записей проверяется по ключу уникальности. Ключ уникальности - это строка состоящая из трех частей - значений полей uniq_id, internal_type_id и user_id соединенных подчеркиванием. <br /> Например: <pre>678_3_25</pre> Соответствующие данные должны быть переданы с данными в XML загружаемого файла, либо указаны в [[Параметры приложения apps.mlsparser|настройках]] приложения.<br /> Загрузка географических данных, в данный момент, производится в несвязанном виде. Передав в данных об положении объекта в Страна:"Россия", Регион:"Калининградская область", вы добьетесь того, что в данных объекта будут указаны соответствующие страна и регион, но между собой они не будут связаны, если только они уже не были связаны, либо вы их не свяжете в последствии.<br /> == Загрузка изображений. == Загрузка данных происходит из ZIP-архива. Предварительно, фотографии должен быть помещены на сервер в ZIP-архиве, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Архив должен быть одноуровневым, не содержать внутри вложенных папок, а только загружаемые изображения. Файл должен иметь расширение '.zip' и являться правильным архивом формата ZIP. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> Запуск загрузчика изображений производится GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/photo.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя архива с изображениями (имя передается с или без расширения файла).<br /> Пример: <pre> http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621 или http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621.zip </pre> , где будет предпринята попытка загрузить в существующие на сайте объявления соответствующие изображения из файла <pre>http://somesite.ru/cache/upl/img_data_20140621.zip</pre> По завершении импорта изображений, исходный файл с данными будет удален с сервера.<br /> Принцип формирования имен изображения для загрузки описан в [[Параметры приложения apps.mlsparser]]<br /> При загрузке изображений для некоторого объявления изменению будут подвергнуты изображения ТОЛЬКО этого объявления. Если будет передана в архиве хоть одно изображение, привязанные до этого момента изображения к объявлению, будут удалены и новые будут добавлены. Иными словами происходит полная замена изображений.<br /> Если переданы изображения для объявления, которое нет или невозможно идентифицировать на сайте по параметрам, переданым в названиях картинок, вставка или обновление не будут проведены.<br /> Если вы не передавали изображений к конкретному объявлению, то его изображения не подвергнутся изменению.<br /> Загрузка изображений в данный момент поддерживается только для способа хранения изображений в элементе типа uploadify_image<br /> == Дополнительно == [[Параметры приложения apps.mlsparser]] 026b2d8d2a5c7893450a82c1bf8032773541703e 211 210 2014-06-23T18:05:31Z Abushyk 2 wikitext text/x-wiki Приложение Парсер формата MLS предназначено для загрузки в сайт данных из XML, сформированных согласно требованиям MLS. <br /> Загрузка данных осуществляется в два этапа:<br /> 1. Загрузка собственно данных.<br /> 2. Загрузка изображений.<br /> == Загрузка данных. == Загрузка данных происходит из XML файла. Предварительно, файл с данными должен быть помещен на сервер в папку, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Файл должен быть валидным документом XML и иметь расширение '.xml'. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> После этого может быть вызван парсер данных. Парсер вызывается GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/parser.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя файла с данными (имя передается без расширения файла).<br /> Пример: <pre>http://somesite.ru/apps/mlsparser/parser.php?file=data_20140621</pre> , где будет предпринята попытка распарсить и импортировать в сайт данные из файла <pre>http://somesite.ru/cache/upl/data_20140621.xml</pre> В случае физического существования файла, его соответствия формату XML и наличию в нем данных, данные из него будут импортированы в сайт. Исходный файл с данными будет удален с сервера.<br /> Данные загружаются с учетом существования. Каждая запись из исходного файла будет сличена с уже существующими в сайте записями и, при наличии существующей аналогичной, будет произведено обновление записи. В противном случае - вставка.<br /> Существование записей проверяется по ключу уникальности. Ключ уникальности - это строка состоящая из трех частей - значений полей uniq_id, internal_type_id и user_id соединенных подчеркиванием. <br /> Например: <pre>678_3_25</pre> Соответствующие данные должны быть переданы с данными в XML загружаемого файла, либо указаны в [[Параметры приложения apps.mlsparser|настройках]] приложения.<br /> Загрузка географических данных, в данный момент, производится в несвязанном виде. Передав в данных об положении объекта в Страна:"Россия", Регион:"Калининградская область", вы добьетесь того, что в данных объекта будут указаны соответствующие страна и регион, но между собой они не будут связаны, если только они уже не были связаны, либо вы их не свяжете в последствии.<br /> == Загрузка изображений. == Загрузка данных происходит из ZIP-архива. Предварительно, фотографии должен быть помещены на сервер в ZIP-архиве, указанную в настройке apps.mlsparser.parser_root (Папка для загрузки файлов). Архив должен быть одноуровневым, не содержать внутри вложенных папок, а только загружаемые изображения. Файл должен иметь расширение '.zip' и являться правильным архивом формата ZIP. В имени файла могут содержаться цифры, латинские буквы и подчеркивание.<br /> Запуск загрузчика изображений производится GET-запросом по адресу <nowiki>http://сайт/apps/mlsparser/photo.php</nowiki> Вместе с вызовом в переменной запроса '''file''' необходимо передать имя архива с изображениями (имя передается с или без расширения файла).<br /> Пример: <pre> http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621 или http://somesite.ru/apps/mlsparser/photo.php?file=img_data_20140621.zip </pre> , где будет предпринята попытка загрузить в существующие на сайте объявления соответствующие изображения из файла <pre>http://somesite.ru/cache/upl/img_data_20140621.zip</pre> По завершении импорта изображений, исходный файл с данными будет удален с сервера.<br /> Принцип формирования имен изображения для загрузки описан в [[Параметры приложения apps.mlsparser]]<br /> При загрузке изображений для некоторого объявления изменению будут подвергнуты изображения ТОЛЬКО этого объявления. Если будет передана в архиве хоть одно изображение, привязанные до этого момента изображения к объявлению, будут удалены и новые будут добавлены. Иными словами происходит полная замена изображений.<br /> Если переданы изображения для объявления, которое нет или невозможно идентифицировать на сайте по параметрам, переданым в названиях картинок, вставка или обновление не будут проведены.<br /> Если вы не передавали изображений к конкретному объявлению, то его изображения не подвергнутся изменению.<br /> Загрузка изображений в данный момент поддерживается только для способа хранения изображений в элементе типа uploadify_image<br /> == Дополнительно == [[Параметры приложения apps.mlsparser]]<br /> [[Приложения|Другие приложения]] 27703fb98f3c3fa0ebdb33389f35134a40b2c11e Приложение "SEO-Оптимизация" 0 49 212 2014-07-07T09:25:42Z Abushyk 2 Новая страница: «Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и раз…» wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. Настройки Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable) Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов. При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> ee8c270354b60fda0cd544e47de127d6924f48c4 213 212 2014-07-07T09:29:53Z Abushyk 2 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. Настройки Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable) Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов. При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> Разрешить многоуровневые URL в категориях (apps.seo.level_enable) Указывает использовать или нет иерархическую структуру построения для URL категорий. Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая .../zhilaya/ Квартира .../zhilaya/kvartira/ </pre> Если же опция отключена, то <pre> Жилая домен/zhilaya/ Квартира домен/kvartira/ </pre> 0e471985d22ed8bc39876e012ffe590011ee0f39 214 213 2014-07-07T09:37:36Z Abushyk 2 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. Настройки '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)''' Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов. При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)''' Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления. Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира. Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Квартира - домен/zhilaya/kvartira/ Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Квартира - домен/kvartira/ Объявление - домен/realty17[.html] </pre> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)''' При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей. Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> bb77f5cd0449100e5f322ce617a53e0f6349723e 215 214 2014-07-07T09:48:13Z Abushyk 2 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. Настройки '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)''' Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов. При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)''' Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления. Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира. Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Квартира - домен/zhilaya/kvartira/ Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Квартира - домен/kvartira/ Объявление - домен/realty17[.html] </pre> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)''' При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей. Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)''' По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид kemerovo-glavnaya-7-1. Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)''' Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. 5025808fd77959c1fb263ee06c46b9ab868779d8 216 215 2014-07-07T14:01:24Z Abushyk 2 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. Настройки '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)''' Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов. При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)''' Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления. Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира. Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Квартира - домен/zhilaya/kvartira/ Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Квартира - домен/kvartira/ Объявление - домен/realty17[.html] </pre> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)''' При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей. Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)''' По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид kemerovo-glavnaya-7-1. Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)''' Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> 11c12ea5ed8270039c0ce4de0fbe8749b9163902 217 216 2014-07-07T14:02:53Z Abushyk 2 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)''' Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов. При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)''' Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления. Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира. Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Квартира - домен/zhilaya/kvartira/ Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Квартира - домен/kvartira/ Объявление - домен/realty17[.html] </pre> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)''' При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей. Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)''' По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)''' Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> 3b92b5e709367e1bbedeba899d468648000068f3 218 217 2014-07-07T14:12:11Z Abushyk 2 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Работа == Приложение располагает двумя доступными операциями * Обновить структуру каталогов * Обновить алиасы объявлений '''Обновить структуру каталогов''' Проходится по всем элементам структуры и формирует для них текстовые алиасы на основе транслитераии. Данные алиасы будут использоваться для формирования ссылок на категории. Сформированное значение будет записано в таблицу re_topic в поле url и, соответственно это поле должно присутствовать в этой таблице. Формирование алиасов происходит только для тех элементов структуры, для которых эти алиасы еще не определены. Движек не следит за уникальностью этих алиасов. Поэтому, если вы присвоили пункту структуры Квартиры алиас zhilaya, то для пункта Жилая, если алиас не указан, при формировании будет присвоен такой же алиас, что приведет к не совсем логичной работе. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, цифр и знака подчеркивания в нижнем регистре # Алиас должен быть уникален в пределах структуры категорий # Алиас указывается без учета иерархичности. Для пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira, а только kvartira # Лидирующие и замыкающие слеши в алиасе недопустимы == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)''' Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов. При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)''' Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления. Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира. Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Квартира - домен/zhilaya/kvartira/ Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Квартира - домен/kvartira/ Объявление - домен/realty17[.html] </pre> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)''' При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей. Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)''' По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)''' Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> 109c9004c216e3a6410501fd6055f60d46f0a84e 219 218 2014-07-07T14:12:34Z Abushyk 2 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Работа == Приложение располагает двумя доступными операциями<br /> * Обновить структуру каталогов * Обновить алиасы объявлений <br /> '''Обновить структуру каталогов'''<br /> Проходится по всем элементам структуры и формирует для них текстовые алиасы на основе транслитераии. Данные алиасы будут использоваться для формирования ссылок на категории. Сформированное значение будет записано в таблицу re_topic в поле url и, соответственно это поле должно присутствовать в этой таблице. Формирование алиасов происходит только для тех элементов структуры, для которых эти алиасы еще не определены. Движек не следит за уникальностью этих алиасов. Поэтому, если вы присвоили пункту структуры Квартиры алиас zhilaya, то для пункта Жилая, если алиас не указан, при формировании будет присвоен такой же алиас, что приведет к не совсем логичной работе. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, цифр и знака подчеркивания в нижнем регистре # Алиас должен быть уникален в пределах структуры категорий # Алиас указывается без учета иерархичности. Для пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira, а только kvartira # Лидирующие и замыкающие слеши в алиасе недопустимы == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)''' Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов. При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)''' Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления. Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира. Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Квартира - домен/zhilaya/kvartira/ Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Квартира - домен/kvartira/ Объявление - домен/realty17[.html] </pre> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)''' При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей. Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)''' По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)''' Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> eb413e596b8a9b2e96405d23f5e90350bbc40be8 220 219 2014-07-07T14:19:01Z Abushyk 2 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Работа == Приложение располагает двумя доступными операциями<br /> * Обновить структуру каталогов * Обновить алиасы объявлений <br /> '''Обновить структуру каталогов'''<br /> Проходится по всем элементам структуры и формирует для них текстовые алиасы на основе транслитераии. Данные алиасы будут использоваться для формирования ссылок на категории. Сформированное значение будет записано в таблицу re_topic в поле url и, соответственно, это поле должно присутствовать в этой таблице. Формирование алиасов происходит только для тех элементов структуры, для которых эти алиасы еще не определены. Sitebill не следит за уникальностью этих алиасов. Поэтому, если вы присвоили пункту структуры Квартиры алиас zhilaya, то для пункта Жилая, если алиас не указан, при формировании будет присвоен такой же алиас, что приведет к не совсем логичной работе. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, цифр и знака подчеркивания в нижнем регистре # Алиас должен быть уникален в пределах структуры категорий # Алиас указывается без учета иерархичности. Для пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira, а только kvartira # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> '''Обновить алиасы объявлений'''<br /> Проходится по всем объявлениям и формирует для них текстовые алиасы, которые будут использованы при включенном режиме '''apps.seo.data_alias_enable''' на основе правил указанных в '''apps.seo.allow_custom_realty_aliases''' и '''apps.seo.allow_custom_realty_aliase_fields'''. Данные алиасы будут использоваться для формирования ссылок на объявления. Сформированное значение будет записано в таблицу re_data в поле translit_alias. Из чего следует, что модель вашего объявления должна иметь в своем составе поле с системным именем translit_alias. Формирование алиасов происходит только для тех объявлений, для которых эти алиасы еще не определены. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, тире, цифр и знака подчеркивания в нижнем регистре # Алиас указывается без учета иерархичности. Для объявления из пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira/alias-moyego-obyavlenia, а только alias-moyego-obyavlenia # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)''' Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов. При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)''' Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления. Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира. Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Квартира - домен/zhilaya/kvartira/ Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Квартира - домен/kvartira/ Объявление - домен/realty17[.html] </pre> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)''' При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей. Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)''' По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)''' Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> 74824b289e55ede2ef1ce7930cc8e4b63838aa77 221 220 2014-07-07T14:20:09Z Abushyk 2 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Работа == Приложение располагает двумя доступными операциями<br /> * Обновить структуру каталогов * Обновить алиасы объявлений <br /> '''Обновить структуру каталогов'''<br /> Проходится по всем элементам структуры и формирует для них текстовые алиасы на основе транслитераии. Данные алиасы будут использоваться для формирования ссылок на категории. Сформированное значение будет записано в таблицу re_topic в поле url и, соответственно, это поле должно присутствовать в этой таблице. Формирование алиасов происходит только для тех элементов структуры, для которых эти алиасы еще не определены. Sitebill не следит за уникальностью этих алиасов. Поэтому, если вы присвоили пункту структуры Квартиры алиас zhilaya, то для пункта Жилая, если алиас не указан, при формировании будет присвоен такой же алиас, что приведет к не совсем логичной работе. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, цифр и знака подчеркивания в нижнем регистре # Алиас должен быть уникален в пределах структуры категорий # Алиас указывается без учета иерархичности. Для пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira, а только kvartira # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> '''Обновить алиасы объявлений'''<br /> Проходится по всем объявлениям и формирует для них текстовые алиасы, которые будут использованы при включенном режиме '''apps.seo.data_alias_enable''' на основе правил указанных в '''apps.seo.allow_custom_realty_aliases''' и '''apps.seo.allow_custom_realty_aliase_fields'''. Данные алиасы будут использоваться для формирования ссылок на объявления. Сформированное значение будет записано в таблицу re_data в поле translit_alias. Из чего следует, что модель вашего объявления должна иметь в своем составе поле с системным именем translit_alias. Формирование алиасов происходит только для тех объявлений, для которых эти алиасы еще не определены. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, тире, цифр и знака подчеркивания в нижнем регистре # Алиас указывается без учета иерархичности. Для объявления из пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira/alias-moyego-obyavlenia, а только alias-moyego-obyavlenia # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)'''<br /> Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов.<br /> При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> <br /> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)'''<br /> Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления.<br /> Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира.<br /> Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Квартира - домен/zhilaya/kvartira/ Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Квартира - домен/kvartira/ Объявление - домен/realty17[.html] </pre> <br /> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)'''<br /> При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей.<br /> Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> <br /> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)'''<br /> По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. <br /> '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)'''<br /> Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. <br /> Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> 33611a5e40d4504fab5da8386b9de362ee5be623 222 221 2014-07-07T14:20:47Z Abushyk 2 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Работа == Приложение располагает двумя доступными операциями<br /> * Обновить структуру каталогов * Обновить алиасы объявлений <br /> '''Обновить структуру каталогов'''<br /> Проходится по всем элементам структуры и формирует для них текстовые алиасы на основе транслитераии. Данные алиасы будут использоваться для формирования ссылок на категории. Сформированное значение будет записано в таблицу re_topic в поле url и, соответственно, это поле должно присутствовать в этой таблице. Формирование алиасов происходит только для тех элементов структуры, для которых эти алиасы еще не определены. Sitebill не следит за уникальностью этих алиасов. Поэтому, если вы присвоили пункту структуры Квартиры алиас zhilaya, то для пункта Жилая, если алиас не указан, при формировании будет присвоен такой же алиас, что приведет к не совсем логичной работе. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, цифр и знака подчеркивания в нижнем регистре # Алиас должен быть уникален в пределах структуры категорий # Алиас указывается без учета иерархичности. Для пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira, а только kvartira # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> '''Обновить алиасы объявлений'''<br /> Проходится по всем объявлениям и формирует для них текстовые алиасы, которые будут использованы при включенном режиме '''apps.seo.data_alias_enable''' на основе правил указанных в '''apps.seo.allow_custom_realty_aliases''' и '''apps.seo.allow_custom_realty_aliase_fields'''. Данные алиасы будут использоваться для формирования ссылок на объявления. Сформированное значение будет записано в таблицу re_data в поле translit_alias. Из чего следует, что модель вашего объявления должна иметь в своем составе поле с системным именем translit_alias. Формирование алиасов происходит только для тех объявлений, для которых эти алиасы еще не определены. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, тире, цифр и знака подчеркивания в нижнем регистре # Алиас указывается без учета иерархичности. Для объявления из пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira/alias-moyego-obyavlenia, а только alias-moyego-obyavlenia # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)'''<br /> Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов.<br /> При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> <br /> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)'''<br /> Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления.<br /> Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира.<br /> Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Квартира - домен/zhilaya/kvartira/ Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Квартира - домен/kvartira/ Объявление - домен/realty17[.html] </pre> <br /> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)'''<br /> При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей.<br /> Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> <br /> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)'''<br /> По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. <br /><br /> '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)'''<br /> Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. <br /> Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> 54de25493b0a9696b5be0c3e1ef72525410ed79e 224 222 2014-07-07T14:22:53Z Abushyk 2 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Работа == Приложение располагает двумя доступными операциями<br /> * Обновить структуру каталогов * Обновить алиасы объявлений <br /> '''Обновить структуру каталогов'''<br /> Проходится по всем элементам структуры и формирует для них текстовые алиасы на основе транслитераии. Данные алиасы будут использоваться для формирования ссылок на категории. Сформированное значение будет записано в таблицу re_topic в поле url и, соответственно, это поле должно присутствовать в этой таблице. Формирование алиасов происходит только для тех элементов структуры, для которых эти алиасы еще не определены. Sitebill не следит за уникальностью этих алиасов. Поэтому, если вы присвоили пункту структуры Квартиры алиас zhilaya, то для пункта Жилая, если алиас не указан, при формировании будет присвоен такой же алиас, что приведет к не совсем логичной работе. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, цифр и знака подчеркивания в нижнем регистре # Алиас должен быть уникален в пределах структуры категорий # Алиас указывается без учета иерархичности. Для пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira, а только kvartira # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> '''Обновить алиасы объявлений'''<br /> Проходится по всем объявлениям и формирует для них текстовые алиасы, которые будут использованы при включенном режиме '''apps.seo.data_alias_enable''' на основе правил указанных в '''apps.seo.allow_custom_realty_aliases''' и '''apps.seo.allow_custom_realty_aliase_fields'''. Данные алиасы будут использоваться для формирования ссылок на объявления. Сформированное значение будет записано в таблицу re_data в поле translit_alias. Из чего следует, что модель вашего объявления должна иметь в своем составе поле с системным именем translit_alias. Формирование алиасов происходит только для тех объявлений, для которых эти алиасы еще не определены. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, тире, цифр и знака подчеркивания в нижнем регистре # Алиас указывается без учета иерархичности. Для объявления из пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira/alias-moyego-obyavlenia, а только alias-moyego-obyavlenia # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)'''<br /> Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов.<br /> При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> <br /> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)'''<br /> Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления.<br /> Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира.<br /> Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/zhilaya/kvartira/ Жилая/Квартира/Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/kvartira/ Жилая/Квартира/Объявление - домен/realty17[.html] </pre> <br /> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)'''<br /> При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей.<br /> Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> <br /> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)'''<br /> По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. <br /><br /> '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)'''<br /> Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. <br /> Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> f64de40022867e092fec286428a918776880148f Приложение "Экспорт в PDF" 0 47 225 196 2014-07-31T06:35:02Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для экспорта объявлений в формат PDF.<br /> Файлы PDF легко распечатать на принтере.<br /> <br /> '''Установка'''<br /> # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <br /> <small>{if $apps_pdfreport_enabled==1} <div class="es"><a href="?format=pdf" class="btn"><i class="icon icon-print"></i> Печать</a></div> {/if} </small><br /> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <small>/apps/pdfreport/admin/template/realty_view.tpl</small><br /> сюда<br /> <small>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</small><br /><br /> В этом новом файле вы можете добавить свои контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов 1. Запуск создания PDF происходит по запросу адреса http://domain/realty385?format=pdf. Вместе с переменной запроса format может передаваться дополнительная переменная tpl. bfe8f2e72063da2b70709b0cb757109dfd4ce622 226 225 2014-07-31T09:16:22Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для экспорта объявлений в формат PDF.<br /> Файлы PDF легко распечатать на принтере.<br /> <br /> '''Установка'''<br /> # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <br /> <small>{if $apps_pdfreport_enabled==1} <div class="es"><a href="?format=pdf" class="btn"><i class="icon icon-print"></i> Печать</a></div> {/if} </small><br /> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <small>/apps/pdfreport/admin/template/realty_view.tpl</small><br /> сюда<br /> <small>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</small><br /><br /> В этом новом файле вы можете добавить свои контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов<br /> 1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта http://domain/realty385?format=pdf. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.<br /> 2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/ - папке /apps/pdfreport/admin/template/ Папки перечислены в порядке, в котором будет проводиться проверка наличия указанного файла. 3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в - папке /template/frontend/ваш_шаблон/apps/pdfreport/ - папке /apps/pdfreport/admin/template/ Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым) - папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl - папке /apps/pdfreport/admin/template/realty_view.tpl Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl c9c2a2b22bcb4e2f20dc4cedac91058b128de5b0 227 226 2014-07-31T09:17:56Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для экспорта объявлений в формат PDF.<br /> Файлы PDF легко распечатать на принтере.<br /> <br /> '''Установка'''<br /> # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <br /> <small>{if $apps_pdfreport_enabled==1} <div class="es"><a href="?format=pdf" class="btn"><i class="icon icon-print"></i> Печать</a></div> {/if} </small><br /> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <small>/apps/pdfreport/admin/template/realty_view.tpl</small><br /> сюда<br /> <small>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</small><br /><br /> В этом новом файле вы можете добавить свои контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов<br /> 1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта <nowiki>http://domain/realty385?format=pdf</nowiki>. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.<br /> 2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Папки перечислены в порядке, в котором будет проводиться проверка наличия указанного файла.<br /> 3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым)<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> - папке /apps/pdfreport/admin/template/realty_view.tpl<br /> Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl<br /> 23a1e6602b96168436bf06e39542fc2e2ee70c91 228 227 2014-07-31T09:18:28Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для экспорта объявлений в формат PDF.<br /> Файлы PDF легко распечатать на принтере.<br /> <br /> '''Установка'''<br /> # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <br /> <small>{if $apps_pdfreport_enabled==1} <div class="es"><a href="?format=pdf" class="btn"><i class="icon icon-print"></i> Печать</a></div> {/if} </small><br /> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <small>/apps/pdfreport/admin/template/realty_view.tpl</small><br /> сюда<br /> <small>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</small><br /><br /> В этом новом файле вы можете добавить свои контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов<br /><br /> 1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта <nowiki>http://domain/realty385?format=pdf</nowiki>. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.<br /><br /> 2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Папки перечислены в порядке, в котором будет проводиться проверка наличия указанного файла.<br /><br /> 3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым)<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> - папке /apps/pdfreport/admin/template/realty_view.tpl<br /><br /> Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl<br /> b6e864b34b415c6ea7d90dac917b645112b451cf 229 228 2014-07-31T09:23:08Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для экспорта объявлений в формат PDF.<br /> Файлы PDF легко распечатать на принтере.<br /> <br /> '''Установка'''<br /> # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <br /> <small>{if $apps_pdfreport_enabled==1} <div class="es"><a href="?format=pdf" class="btn"><i class="icon icon-print"></i> Печать</a></div> {/if} </small><br /> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <small>/apps/pdfreport/admin/template/realty_view.tpl</small><br /> сюда<br /> <small>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</small><br /><br /> В этом новом файле вы можете добавить свои контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов<br /><br /> 1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта <nowiki>http://domain/realty385?format=pdf</nowiki>. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.<br /><br /> 2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Папки перечислены в порядке, в котором будет проводиться проверка наличия указанного файла.<br /><br /> 3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым)<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> - папке /apps/pdfreport/admin/template/realty_view.tpl<br /><br /> Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl<br /> === Пример === Запросив <nowiki>http://domain/realty385?format=pdf</nowiki> вы получите сгенерированный документ на основании макета из /apps/pdfreport/admin/template/realty_view.tpl<br /> Если у вы создадите в шаблоне файл /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl, то по этому же запросу вы получите документ на основании макета из /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> Запросив <nowiki>http://domain/realty385?format=pdf&tpl=my_pdf_layout</nowiki> будет отдан документ на основании макета<br /> /template/frontend/ваш_шаблон/apps/pdfreport/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/realty_view.tpl<br /> 34859a45de47b03a57b8c4fe7447621c7eaa6f48 230 229 2014-07-31T09:29:47Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для экспорта объявлений в формат PDF.<br /> Файлы PDF легко распечатать на принтере.<br /> <br /> == Установка == # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <br /> <small>{if $apps_pdfreport_enabled==1} <div class="es"><a href="?format=pdf" class="btn"><i class="icon icon-print"></i> Печать</a></div> {/if} </small><br /> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <small>/apps/pdfreport/admin/template/realty_view.tpl</small><br /> сюда<br /> <small>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</small><br /><br /> В этом новом файле вы можете добавить свои контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов<br /><br /> 1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта <nowiki>http://domain/realty385?format=pdf</nowiki>. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.<br /><br /> 2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Папки перечислены в порядке, в котором будет проводиться проверка наличия указанного файла.<br /><br /> 3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым)<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> - папке /apps/pdfreport/admin/template/realty_view.tpl<br /><br /> Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl<br /> === Пример === Запросив <nowiki>http://domain/realty385?format=pdf</nowiki> вы получите сгенерированный документ на основании макета из /apps/pdfreport/admin/template/realty_view.tpl<br /> Если у вы создадите в шаблоне файл /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl, то по этому же запросу вы получите документ на основании макета из /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> Запросив <nowiki>http://domain/realty385?format=pdf&tpl=my_pdf_layout</nowiki> будет отдан документ на основании макета<br /> /template/frontend/ваш_шаблон/apps/pdfreport/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/realty_view.tpl<br /> == Макеты == Макеты для генерации документов PDF должны иметь расширение tpl, могут иметь в названии латинские буквы, цифры и подчеркивания.<br /> По сути, макет - это обычная законченная html-страница, которая должна включать все обязательные элементы разметки (html, head, body). Разметка должна быть валидной - все открытые теги, требующие закрываюего, должны быть закрыты. <br /> Макет должен включать в себя ссылки на ВСЕ необходимые ему для построения таблицы стилей и библиотеки. Сылки могут быть абсолютными, либо относительными. Для относительных необходимо использовать переменную '''{$_core_folder}''' для правильного ссылания на корень сайта<br /> f3d6378f30c5f83ce7e842895e8b98ae72983ef9 231 230 2014-07-31T09:30:52Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для экспорта объявлений в формат PDF.<br /> Файлы PDF легко распечатать на принтере.<br /> <br /> == Установка == # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <br /> <small>{if $apps_pdfreport_enabled==1} <div class="es"><a href="?format=pdf" class="btn"><i class="icon icon-print"></i> Печать</a></div> {/if} </small><br /> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <small>/apps/pdfreport/admin/template/realty_view.tpl</small><br /> сюда<br /> <small>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</small><br /><br /> В этом новом файле вы можете добавить свои контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов<br /><br /> 1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта <nowiki>http://domain/realty385?format=pdf</nowiki>. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.<br /><br /> 2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Папки перечислены в порядке, в котором будет проводиться проверка наличия указанного файла.<br /><br /> 3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым)<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> - папке /apps/pdfreport/admin/template/realty_view.tpl<br /><br /> Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl<br /> === Пример === Запросив <nowiki>http://domain/realty385?format=pdf</nowiki> вы получите сгенерированный документ на основании макета из /apps/pdfreport/admin/template/realty_view.tpl<br /> Если у вы создадите в шаблоне файл /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl, то по этому же запросу вы получите документ на основании макета из /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> Запросив <nowiki>http://domain/realty385?format=pdf&tpl=my_pdf_layout</nowiki> будет отдан документ на основании макета<br /> /template/frontend/ваш_шаблон/apps/pdfreport/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/realty_view.tpl<br /> == Макеты == Макеты для генерации документов PDF должны иметь расширение tpl, могут иметь в названии латинские буквы, цифры и подчеркивания.<br /> По сути, макет - это обычная законченная html-страница, которая должна включать все обязательные элементы разметки (html, head, body). Разметка должна быть валидной - все открытые теги, требующие закрываюего, должны быть закрыты. <br /> Макет должен включать в себя ссылки на ВСЕ необходимые ему для построения таблицы стилей и библиотеки. Сылки могут быть абсолютными, либо относительными. Для относительных необходимо использовать переменную '''{$_core_folder}''' для правильного ссылания на корень сайта. Логика указания ссылок на таблицы стилей аналогична и для указания источников изображений<br /> 407795215e793bba903411176374cb6281a11226 232 231 2014-07-31T09:31:20Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для экспорта объявлений в формат PDF.<br /> Файлы PDF легко распечатать на принтере.<br /> <br /> == Установка == # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <br /> <pre>{if $apps_pdfreport_enabled==1} <div class="es"><a href="?format=pdf" class="btn"><i class="icon icon-print"></i> Печать</a></div> {/if} </pre><br /> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <small>/apps/pdfreport/admin/template/realty_view.tpl</small><br /> сюда<br /> <small>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</small><br /><br /> В этом новом файле вы можете добавить свои контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов<br /><br /> 1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта <nowiki>http://domain/realty385?format=pdf</nowiki>. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.<br /><br /> 2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Папки перечислены в порядке, в котором будет проводиться проверка наличия указанного файла.<br /><br /> 3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым)<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> - папке /apps/pdfreport/admin/template/realty_view.tpl<br /><br /> Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl<br /> === Пример === Запросив <nowiki>http://domain/realty385?format=pdf</nowiki> вы получите сгенерированный документ на основании макета из /apps/pdfreport/admin/template/realty_view.tpl<br /> Если у вы создадите в шаблоне файл /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl, то по этому же запросу вы получите документ на основании макета из /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> Запросив <nowiki>http://domain/realty385?format=pdf&tpl=my_pdf_layout</nowiki> будет отдан документ на основании макета<br /> /template/frontend/ваш_шаблон/apps/pdfreport/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/realty_view.tpl<br /> == Макеты == Макеты для генерации документов PDF должны иметь расширение tpl, могут иметь в названии латинские буквы, цифры и подчеркивания.<br /> По сути, макет - это обычная законченная html-страница, которая должна включать все обязательные элементы разметки (html, head, body). Разметка должна быть валидной - все открытые теги, требующие закрываюего, должны быть закрыты. <br /> Макет должен включать в себя ссылки на ВСЕ необходимые ему для построения таблицы стилей и библиотеки. Сылки могут быть абсолютными, либо относительными. Для относительных необходимо использовать переменную '''{$_core_folder}''' для правильного ссылания на корень сайта. Логика указания ссылок на таблицы стилей аналогична и для указания источников изображений<br /> b0ee1a925a5b2156be3c09584ff79abfe9f63d0a 233 232 2014-07-31T09:31:59Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для экспорта объявлений в формат PDF.<br /> Файлы PDF легко распечатать на принтере.<br /> <br /> == Установка == # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <br /> <pre> {if $apps_pdfreport_enabled==1} <div class="es"> <a href="?format=pdf" class="btn"> <i class="icon icon-print"></i> Печать </a> </div> {/if} </pre> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <small>/apps/pdfreport/admin/template/realty_view.tpl</small><br /> сюда<br /> <small>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</small><br /><br /> В этом новом файле вы можете добавить свои контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов<br /><br /> 1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта <nowiki>http://domain/realty385?format=pdf</nowiki>. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.<br /><br /> 2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Папки перечислены в порядке, в котором будет проводиться проверка наличия указанного файла.<br /><br /> 3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым)<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> - папке /apps/pdfreport/admin/template/realty_view.tpl<br /><br /> Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl<br /> === Пример === Запросив <nowiki>http://domain/realty385?format=pdf</nowiki> вы получите сгенерированный документ на основании макета из /apps/pdfreport/admin/template/realty_view.tpl<br /> Если у вы создадите в шаблоне файл /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl, то по этому же запросу вы получите документ на основании макета из /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> Запросив <nowiki>http://domain/realty385?format=pdf&tpl=my_pdf_layout</nowiki> будет отдан документ на основании макета<br /> /template/frontend/ваш_шаблон/apps/pdfreport/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/realty_view.tpl<br /> == Макеты == Макеты для генерации документов PDF должны иметь расширение tpl, могут иметь в названии латинские буквы, цифры и подчеркивания.<br /> По сути, макет - это обычная законченная html-страница, которая должна включать все обязательные элементы разметки (html, head, body). Разметка должна быть валидной - все открытые теги, требующие закрываюего, должны быть закрыты. <br /> Макет должен включать в себя ссылки на ВСЕ необходимые ему для построения таблицы стилей и библиотеки. Сылки могут быть абсолютными, либо относительными. Для относительных необходимо использовать переменную '''{$_core_folder}''' для правильного ссылания на корень сайта. Логика указания ссылок на таблицы стилей аналогична и для указания источников изображений<br /> 410b7ebb55a2bd9e11f3cd22cb5e566cfe2c1a47 234 233 2014-07-31T09:33:26Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для экспорта объявлений в формат PDF.<br /> Файлы PDF легко распечатать на принтере.<br /> <br /> == Установка == # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <pre> {if $apps_pdfreport_enabled==1} <div class="es"> <a href="?format=pdf" class="btn"> <i class="icon icon-print"></i> Печать </a> </div> {/if} </pre> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <pre>/apps/pdfreport/admin/template/realty_view.tpl</pre> сюда<br /> <pre>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</pre> <br /> Изменяя этот файл вы сможете добавить собственные стили отображения, контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов<br /><br /> 1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта <nowiki>http://domain/realty385?format=pdf</nowiki>. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.<br /><br /> 2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Папки перечислены в порядке, в котором будет проводиться проверка наличия указанного файла.<br /><br /> 3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым)<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> - папке /apps/pdfreport/admin/template/realty_view.tpl<br /><br /> Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl<br /> === Пример === Запросив <nowiki>http://domain/realty385?format=pdf</nowiki> вы получите сгенерированный документ на основании макета из /apps/pdfreport/admin/template/realty_view.tpl<br /> Если у вы создадите в шаблоне файл /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl, то по этому же запросу вы получите документ на основании макета из /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> Запросив <nowiki>http://domain/realty385?format=pdf&tpl=my_pdf_layout</nowiki> будет отдан документ на основании макета<br /> /template/frontend/ваш_шаблон/apps/pdfreport/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/realty_view.tpl<br /> == Макеты == Макеты для генерации документов PDF должны иметь расширение tpl, могут иметь в названии латинские буквы, цифры и подчеркивания.<br /> По сути, макет - это обычная законченная html-страница, которая должна включать все обязательные элементы разметки (html, head, body). Разметка должна быть валидной - все открытые теги, требующие закрываюего, должны быть закрыты. <br /> Макет должен включать в себя ссылки на ВСЕ необходимые ему для построения таблицы стилей и библиотеки. Сылки могут быть абсолютными, либо относительными. Для относительных необходимо использовать переменную '''{$_core_folder}''' для правильного ссылания на корень сайта. Логика указания ссылок на таблицы стилей аналогична и для указания источников изображений<br /> 63ba4b625b5d8c7798697028c61f0aefe178ea01 235 234 2014-07-31T09:37:05Z Abushyk 2 wikitext text/x-wiki == Назначение == Приложение предназначено для организации экспорта объявлений в формат PDF-документа, которые, зачастую, более удобны при распространении и печати.<br /> Приложение поддерживает создание собственных макетов документов, что позволяет определить свой уникальный стиль подачи материала<br /> Создание макета может потребовать некоторых базовых знаний в области создания разметки HTML и использования стилей CSS, либо привлечения специалиста. Не сложные макеты могут быть сверстаны самостоятельно на основании базового. == Установка == # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <pre> {if $apps_pdfreport_enabled==1} <div class="es"> <a href="?format=pdf" class="btn"> <i class="icon icon-print"></i> Печать </a> </div> {/if} </pre> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <pre>/apps/pdfreport/admin/template/realty_view.tpl</pre> сюда<br /> <pre>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</pre> <br /> Изменяя этот файл вы сможете добавить собственные стили отображения, контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов<br /><br /> 1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта <nowiki>http://domain/realty385?format=pdf</nowiki>. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.<br /><br /> 2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Папки перечислены в порядке, в котором будет проводиться проверка наличия указанного файла.<br /><br /> 3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым)<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> - папке /apps/pdfreport/admin/template/realty_view.tpl<br /><br /> Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl<br /> === Пример === Запросив <nowiki>http://domain/realty385?format=pdf</nowiki> вы получите сгенерированный документ на основании макета из /apps/pdfreport/admin/template/realty_view.tpl<br /> Если у вы создадите в шаблоне файл /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl, то по этому же запросу вы получите документ на основании макета из /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> Запросив <nowiki>http://domain/realty385?format=pdf&tpl=my_pdf_layout</nowiki> будет отдан документ на основании макета<br /> /template/frontend/ваш_шаблон/apps/pdfreport/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/realty_view.tpl<br /> == Макеты == Макеты для генерации документов PDF должны иметь расширение tpl, могут иметь в названии латинские буквы, цифры и подчеркивания.<br /> По сути, макет - это обычная законченная html-страница, которая должна включать все обязательные элементы разметки (html, head, body). Разметка должна быть валидной - все открытые теги, требующие закрываюего, должны быть закрыты. <br /> Макет должен включать в себя ссылки на ВСЕ необходимые ему для построения таблицы стилей и библиотеки. Сылки могут быть абсолютными, либо относительными. Для относительных необходимо использовать переменную '''{$_core_folder}''' для правильного ссылания на корень сайта. Логика указания ссылок на таблицы стилей аналогична и для указания источников изображений<br /> 99ccce0f0f6fb2af33bc14ebc746965a09f14ff6 Приложение "Выгрузка Yandex.Realty" 0 31 236 103 2014-08-20T21:06:23Z Kondin 1 wikitext text/x-wiki Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки '''http://ваш_сайт/yandexrealty/'''<br /> <br /> === Принимающие участие в выгрузке поля === ==== Общие поля ==== '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> ==== Агент ==== Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) ==== Валюта. ==== Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена 20e26432b1c5171c98a360ead4eadab19079a894 Настройка робокассы 0 16 237 63 2014-08-27T08:14:34Z Kondin 1 wikitext text/x-wiki В технических параметрах в '''ЛИЧНОМ КАБИНЕТЕ РОБОКАССЫ''' вам нужно настроить следующие поля.<br /> <br /> Пароль1<br /> Пароль2<br /> <br /> Затем указываем<br /> '''Result URL''': http://ваш_сайт.ru/robox/result/<br /> Метод отсылки данных по Result URL: GET<br /> '''Success URL''': http://ваш_сайт.ru/robox/success/<br /> Метод отсылки данных по Success URL: GET<br /> '''Fail URL''': http://ваш_сайт.ru/robox/fail/<br /> Метод отсылки данных по Fail URL: GET<br /> <br /> <br /> Теперь переходим в панель управления CMS Sitebill в настройки<br /> В поле адрес службы приема платежей по-умолчанию стоит тестовый сервер http://test.robokassa.ru/Index.aspx, если вы уже протестировали сервис и активировали аккаунт в робокассе, то пропишите сюда рабочий адрес: https://merchant.roboxchange.com/Index.aspx<br /> Идентификатор магазина прописываем в Логин для robokassa.ru<br /> Также надо вписать в поля Пароль 1 для robokassa.ru и Пароль 2 для robokassa.ru те пароли что вы придумали в личном кабинете робокассы.<br /> Сохраните настройки.<br /> Теперь вашим пользователям в личном кабинете можно пополнять свой счет. e46b7043dc93c8c531b7f8ebfe80ae0fd377bb4a Apps.api 0 50 240 2014-10-16T05:54:00Z Kondin 1 Новая страница: «apps.api необходим для взаимодействия с внешними приложениями.<br/> Например, с мобильным при…» wikitext text/x-wiki apps.api необходим для взаимодействия с внешними приложениями.<br/> Например, с мобильным приложением Sitebill https://play.google.com/store/apps/details?id=ru.sitebill.mobilecms 4842ab3a1573d6a9cbb627c91ddc36d5d5025c92 Параметры приложения apps.mlsparser 0 2 241 148 2014-10-29T10:07:17Z Abushyk 2 /* Загрузка картинок */ wikitext text/x-wiki ==== Нативные параметры apps.mlsparser ==== ===== apps.mlsparser.default_user_id - Пользователь по умолчанию ===== :''Тип: число'' Наследует параметр '''apps.yandexrealty_parser.default_user_id'''. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. ===== apps.mlsparser.parser_root - Папка для загрузки файлов ===== :''Тип: строка'' Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга ==== Параметры наследуемые от apps.yandexrealty_parser ==== ===== apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей ===== :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию ===== :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' ===== apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий ===== :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' ===== apps.yandexrealty_parser.category_for_all - Категория по умолчанию ===== :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' ==== Загрузка картинок с помощью apps.mlsparser ==== Параллельно загрузке данных парсер допускает загрузку картинок к данным. Загрузка изображений производится вторым потоком при обращении по специальному адресу. Набор картинок в виде архива формата ZIP должен, на момент запроса на парсинг картинок, находиться в папке /cache/upl/.<br /> Обработчику передается имя этого архива.<br /> Архив должен быть одноуровневым - содержать исключительно графические файлы формата jpg, jpeg, gif и png.<br /> Правило именования файлов в архиве следующее:<br /> userid_uniqid_internaltypeid_ordernr.формат для полных изображений<br /> thmb_userid_uniqid_internaltypeid_ordernr.формат для уменьшенных изображений<br /> где<br /> thmb_ - префикс уменьшенного изображения. При его отсутствии изображение считается полным<br /> userid - уникальный идентификатор пользователя\программы выгрузки<br /> uniqid - уникальный идентификатор объявления в базе из которой производится выгрузка<br /> internaltypeid - уникальный идентификатор типа объявления<br /> _ordernr - постфикс определяющий порядок изображения в наборе изображений. Используется тогда, когда для объявления передается более одного изображения.<br /> ''Пример обозначения''<br /> 4_6544_2.gif <br /> 2_6544_2_2.jpeg<br /> thmb_2_6544_2_2.jpeg<br /> При передаче в архиве уменьшенных изображений, для полных изображений '''не будут формироваться''' превьюшки с учетом настроек сервера, а будут просто копироваться переданные уменьшенные, даже если они не соответствуют настроечным размерам уменьшенных изображений. b87871102d33094711ea3c8e8af5d4cd71002a00 Заглавная страница 0 1 242 188 2014-11-11T04:09:19Z Kondin 1 wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Типы элементов форм]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Меню]]<br /> [[Шаблон]]<br /> [[Общие настройки]]<br /> [[Связанные элементы]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[mail|Настройка отправки писем с сайта]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Перевод|Перевод контента на другие языки]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 1d9310bce957152755bef73c9698d6b8e23d529c Меню 0 51 243 2014-11-11T04:34:00Z Kondin 1 Новая страница: «Редактор меню находится в админке в пункте Контент - Меню<br /> Для того чтобы создать ново…» wikitext text/x-wiki Редактор меню находится в админке в пункте Контент - Меню<br /> Для того чтобы создать новое меню, нажмите кнопку "Создать меню"<br /> В поле "Название меню" - запишите название понятное человеку, оно будет отображаться только в админке. Тут можно использовать русские буквы, например, Для пользователя<br /> В поле "Метка меню" - запишите название только латинскими буквами, например, for_user_menu<br /> Сохраните.<br /> Теперь у вас будет в списке меню новый пункт "Для пользователя"<br /> Зайдите в редактирование пунктов меню, для этого нажмите кнопку "Структура"<br /> Нажмите кнопку "Добавить пункт"<br /> В форме заполните поля<br /> "Название подпункта" - это название пункта меню будет отображаться на сайте и видно пользователю.<br /> Далее следуют поля для ввода названия для каждого языка, установленного в системе. Их заполнять не обязательно.<br /> "URL" - сюда нужно вписать относительный адрес страницы, например /about/, подробнее об адресах можно почитать тут [[Страницы]]<br /> "Сортировка" - сюда можно вписать порядковый номер пункта меню, в соответствии с которым он будет сортироваться при выводе. Чем больше номер, тем дальше он будет от начала списка. e6040f319408968053ac17fb60c0ece26dd4aade 244 243 2014-11-11T04:37:24Z Kondin 1 wikitext text/x-wiki Редактор меню находится в админке в пункте Контент - Меню<br /> Для того чтобы создать новое меню, нажмите кнопку "'''Создать меню'''"<br /> В поле "'''Название меню'''" - запишите название понятное человеку, оно будет отображаться только в админке. Тут можно использовать русские буквы, например, Для пользователя<br /> В поле "'''Метка меню'''" - запишите название только латинскими буквами, например, for_user_menu<br /> Сохраните.<br /><br /> Теперь у вас будет в списке меню новый пункт "Для пользователя"<br /> Зайдите в редактирование пунктов меню, для этого нажмите кнопку "'''Структура'''"<br /> Нажмите кнопку "'''Добавить пункт'''"<br /> В форме заполните поля<br /> "'''Название подпункта'''" - это название пункта меню будет отображаться на сайте и видно пользователю.<br /> Далее следуют поля для ввода названия для каждого языка, установленного в системе. Их заполнять не обязательно.<br /> "'''URL'''" - сюда нужно вписать относительный адрес страницы, например /about/, подробнее об адресах можно почитать тут [[Страницы]]<br /> "'''Сортировка'''" - сюда можно вписать порядковый номер пункта меню, в соответствии с которым он будет сортироваться при выводе. Чем больше номер, тем дальше он будет от начала списка. 28d5fb10fa1b48bb9affb9c19c61c1263615b598 245 244 2014-11-11T04:39:01Z Kondin 1 wikitext text/x-wiki Редактор меню находится в админке в пункте Контент - Меню<br /> Для того чтобы создать новое меню, нажмите кнопку "'''Создать меню'''"<br /> В поле "'''Название меню'''" - запишите название понятное человеку, оно будет отображаться только в админке. Тут можно использовать русские буквы, например, Для пользователя<br /> В поле "'''Метка меню'''" - запишите название только латинскими буквами, например, for_user_menu<br /> Сохраните.<br /><br /> Теперь у вас будет в списке меню новый пункт "Для пользователя"<br /> Зайдите в редактирование пунктов меню, для этого нажмите кнопку "'''Структура'''"<br /> Нажмите кнопку "'''Добавить пункт'''"<br /> В форме заполните поля<br /> "'''Название подпункта'''" - это название пункта меню будет отображаться на сайте и видно пользователю.<br /> Далее следуют поля для ввода названия для каждого языка, установленного в системе. Их заполнять не обязательно.<br /> "'''URL'''" - сюда нужно вписать относительный адрес страницы, например /about/, подробнее об адресах можно почитать тут [[Страницы]]<br /> "'''Сортировка'''" - сюда можно вписать порядковый номер пункта меню, в соответствии с которым он будет сортироваться при выводе. Чем больше номер, тем дальше он будет от начала списка.<br /> <br /> В шаблоне это меню будет выводиться с помощью такого кода<br /> <br /> <small> <ul> {section name=i loop=$for_user_menu} <li><a href="{$for_user_menu[i].url}">{$for_user_menu[i].name}</a></li> {/section} </ul> </small> 769653398720e65972c73cb1a46943a7cce58400 246 245 2014-11-11T04:42:45Z Kondin 1 wikitext text/x-wiki Редактор меню находится в админке в пункте Контент - Меню<br /> Для того чтобы создать новое меню, нажмите кнопку "'''Создать меню'''"<br /> В поле "'''Название меню'''" - запишите название понятное человеку, оно будет отображаться только в админке. Тут можно использовать русские буквы, например, Для пользователя<br /> В поле "'''Метка меню'''" - запишите название только латинскими буквами, например, for_user_menu<br /> Сохраните.<br /><br /> Теперь у вас будет в списке меню новый пункт "Для пользователя"<br /> Зайдите в редактирование пунктов меню, для этого нажмите кнопку "'''Структура'''"<br /> Нажмите кнопку "'''Добавить пункт'''"<br /> В форме заполните поля<br /> "'''Название подпункта'''" - это название пункта меню будет отображаться на сайте и видно пользователю.<br /> Далее следуют поля для ввода названия для каждого языка, установленного в системе. Их заполнять не обязательно.<br /> "'''URL'''" - сюда нужно вписать относительный адрес страницы, например /about/, подробнее об адресах можно почитать тут [[Страницы]]<br /> "'''Сортировка'''" - сюда можно вписать порядковый номер пункта меню, в соответствии с которым он будет сортироваться при выводе. Чем больше номер, тем дальше он будет от начала списка.<br /> <br /> В шаблоне это меню будет выводиться с помощью такого кода<br /> <br /> <small> &lang;ul&rang; {section name=i loop=$for_user_menu} &lang;li&rang;&lang;a href="{$for_user_menu[i].url}"&rang;{$for_user_menu[i].name}&lang;/a&rang;&lang;/li&rang; {/section} &lang;/ul&rang; </small> 487b2dfeeb15f8b1ad6088d29cfc2a4ce2b88eda 247 246 2014-11-11T04:43:19Z Kondin 1 wikitext text/x-wiki Редактор меню находится в админке в пункте Контент - Меню<br /> Для того чтобы создать новое меню, нажмите кнопку "'''Создать меню'''"<br /> В поле "'''Название меню'''" - запишите название понятное человеку, оно будет отображаться только в админке. Тут можно использовать русские буквы, например, Для пользователя<br /> В поле "'''Метка меню'''" - запишите название только латинскими буквами, например, for_user_menu<br /> Сохраните.<br /><br /> Теперь у вас будет в списке меню новый пункт "Для пользователя"<br /> Зайдите в редактирование пунктов меню, для этого нажмите кнопку "'''Структура'''"<br /> Нажмите кнопку "'''Добавить пункт'''"<br /> В форме заполните поля<br /> "'''Название подпункта'''" - это название пункта меню будет отображаться на сайте и видно пользователю.<br /> Далее следуют поля для ввода названия для каждого языка, установленного в системе. Их заполнять не обязательно.<br /> "'''URL'''" - сюда нужно вписать относительный адрес страницы, например /about/, подробнее об адресах можно почитать тут [[Страницы]]<br /> "'''Сортировка'''" - сюда можно вписать порядковый номер пункта меню, в соответствии с которым он будет сортироваться при выводе. Чем больше номер, тем дальше он будет от начала списка.<br /> <br /> В шаблоне это меню будет выводиться с помощью такого кода<br /> <br /> <big>&lang;ul&rang;<br /> {section name=i loop=$for_user_menu}<br /> &lang;li&rang;&lang;a href="{$for_user_menu[i].url}"&rang;{$for_user_menu[i].name}&lang;/a&rang;&lang;/li&rang;<br /> {/section}<br /> &lang;/ul&rang;<br /> </big> 812a61ca48358d542d0c43e823396d78812ed81d Приложение "Выгрузка ЦИАН" 0 7 248 39 2014-11-19T05:58:58Z Kondin 1 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === <br> У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. 34d4e00f01e6b89c6ae1b1b16dc8ad13db713068 249 248 2014-11-19T05:59:44Z Kondin 1 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. 3c0eb1abaf5ea7cedb61d91baa0da345f2f1bd3e Перевод 0 38 250 136 2014-12-12T20:53:48Z Abushyk 2 wikitext text/x-wiki Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.<br /> Например, нужно сделать перевод для поля text (описание) на английский язык (en).<br /> Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.<br /> В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.<br /> Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br /> Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. === Локализации === Языки подключаются в два этапа - этап локализации системы и этап локализации приложения ==== Этап локализации системы ==== Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language. В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1. Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык. ==== Этап локализации приложения ==== Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения. Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language. Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные 9d838e59675fa53d9168bc17e3d71f49f756663b 251 250 2014-12-12T20:54:15Z Abushyk 2 wikitext text/x-wiki Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.<br /> Например, нужно сделать перевод для поля text (описание) на английский язык (en).<br /> Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.<br /> В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.<br /> Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br /> Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. === Локализации === Языки подключаются в два этапа - этап локализации системы и этап локализации приложения ==== Этап локализации системы ==== Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language.<br /> В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1.<br /> Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык.<br /> ==== Этап локализации приложения ==== Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения. Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language.<br /> Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные f20a2faf1f6fa504088cbe39518bf7e75070fc4e Mail 0 37 252 133 2015-01-07T14:54:06Z Kondin 1 wikitext text/x-wiki Для того чтобы с сайта успешно отправлялись почтовые сообщения, они должны удовлетворять требования и не быть похожими на спам. Т.е. необходимо чтобы поле «От кого» содержало реальный адрес и соответствовало адресу сайта. Например, если ваш сайт называется '''arenda-kvartir.ru''', тогда поле «От кого» должно иметь вид '''info@arenda-kvartir.ru'''. Часть info – может быть любой, главное чтобы ваш почтовый сервер отвечал на запрос других почтовых серверов, что этот почтовый ящик существует. Поэтому в панели управления своего хостинга вам нужно создать этот почтовый ящик. Вместо info может быть no-reply, manager, admin, все что будет понятно тем, кому приходят эти письма.<br /> Адрес '''info@arenda-kvartir.ru''' нужно вписать в конфиге в поле '''system_email''' -------------- Не включайте опцию SMTP - она не работает для бесплатных почтовых служб (яндекс, mail.ru и прочих), эта опция подходит только тем, у кого есть свой сервер. <br /> Если вы уверены, что все настройки прописали правильно, то следующий шаг - нужно проверить отправку почты с хостинга в целом. Для этого мы разработали тестовый скрипт, скачать его тут www.sitebill.ru/storage/distr/test-mail.zip <br /> Распакуйте архив и замените вот эти адреса на ваши $from = 'info@vashsite.ru'; - здесь вписываем вместо vashsite.ru - ваш сайт $to = 'dkondin@gmail.com'; - здесь вписываем адрес почты, на который будут приходить заявки Затем загрузите измененный скрипт test-mail.php в корень вашего сайта по FTP И запустите vahssite.ru/test-mail.php Если почта с темой "Проверяем почту" - не пришла, значит проблема в хостинге и вам нужно написать в тех.поддержку хостинга, сообщите им что письма не приходят с сервера. 7cea08ae1cfb1b536afe0e21694ff3799369d71e Mail 0 37 253 252 2015-01-07T14:54:20Z Kondin 1 wikitext text/x-wiki Для того чтобы с сайта успешно отправлялись почтовые сообщения, они должны удовлетворять требования и не быть похожими на спам. Т.е. необходимо чтобы поле «От кого» содержало реальный адрес и соответствовало адресу сайта. Например, если ваш сайт называется '''arenda-kvartir.ru''', тогда поле «От кого» должно иметь вид '''info@arenda-kvartir.ru'''. Часть info – может быть любой, главное чтобы ваш почтовый сервер отвечал на запрос других почтовых серверов, что этот почтовый ящик существует. Поэтому в панели управления своего хостинга вам нужно создать этот почтовый ящик. Вместо info может быть no-reply, manager, admin, все что будет понятно тем, кому приходят эти письма.<br /> Адрес '''info@arenda-kvartir.ru''' нужно вписать в конфиге в поле '''system_email''' -------------- Не включайте опцию SMTP - она не работает для бесплатных почтовых служб (яндекс, mail.ru и прочих), эта опция подходит только тем, у кого есть свой сервер. <br /> <br /> Если вы уверены, что все настройки прописали правильно, то следующий шаг - нужно проверить отправку почты с хостинга в целом. Для этого мы разработали тестовый скрипт, скачать его тут www.sitebill.ru/storage/distr/test-mail.zip <br /> Распакуйте архив и замените вот эти адреса на ваши $from = 'info@vashsite.ru'; - здесь вписываем вместо vashsite.ru - ваш сайт $to = 'dkondin@gmail.com'; - здесь вписываем адрес почты, на который будут приходить заявки Затем загрузите измененный скрипт test-mail.php в корень вашего сайта по FTP И запустите vahssite.ru/test-mail.php Если почта с темой "Проверяем почту" - не пришла, значит проблема в хостинге и вам нужно написать в тех.поддержку хостинга, сообщите им что письма не приходят с сервера. dee1986b14619ac415b23c6ee8c2389a78bcf1fa 254 253 2015-01-07T14:54:34Z Kondin 1 wikitext text/x-wiki Для того чтобы с сайта успешно отправлялись почтовые сообщения, они должны удовлетворять требования и не быть похожими на спам. Т.е. необходимо чтобы поле «От кого» содержало реальный адрес и соответствовало адресу сайта. Например, если ваш сайт называется '''arenda-kvartir.ru''', тогда поле «От кого» должно иметь вид '''info@arenda-kvartir.ru'''. Часть info – может быть любой, главное чтобы ваш почтовый сервер отвечал на запрос других почтовых серверов, что этот почтовый ящик существует. Поэтому в панели управления своего хостинга вам нужно создать этот почтовый ящик. Вместо info может быть no-reply, manager, admin, все что будет понятно тем, кому приходят эти письма.<br /> Адрес '''info@arenda-kvartir.ru''' нужно вписать в конфиге в поле '''system_email''' -------------- Не включайте опцию SMTP - она не работает для бесплатных почтовых служб (яндекс, mail.ru и прочих), эта опция подходит только тем, у кого есть свой сервер. <br /> <br /> Если вы уверены, что все настройки прописали правильно, то следующий шаг - нужно проверить отправку почты с хостинга в целом. Для этого мы разработали тестовый скрипт, скачать его тут http://www.sitebill.ru/storage/distr/test-mail.zip <br /> Распакуйте архив и замените вот эти адреса на ваши $from = 'info@vashsite.ru'; - здесь вписываем вместо vashsite.ru - ваш сайт $to = 'dkondin@gmail.com'; - здесь вписываем адрес почты, на который будут приходить заявки Затем загрузите измененный скрипт test-mail.php в корень вашего сайта по FTP И запустите vahssite.ru/test-mail.php Если почта с темой "Проверяем почту" - не пришла, значит проблема в хостинге и вам нужно написать в тех.поддержку хостинга, сообщите им что письма не приходят с сервера. 3cb2447bddd93d38304943261d3c68e494671375 255 254 2015-01-07T14:57:50Z Kondin 1 wikitext text/x-wiki Для того чтобы с сайта успешно отправлялись почтовые сообщения, они должны удовлетворять требования и не быть похожими на спам. Т.е. необходимо чтобы поле «От кого» содержало реальный адрес и соответствовало адресу сайта. Например, если ваш сайт называется '''arenda-kvartir.ru''', тогда поле «От кого» должно иметь вид '''info@arenda-kvartir.ru'''. Часть info – может быть любой, главное чтобы ваш почтовый сервер отвечал на запрос других почтовых серверов, что этот почтовый ящик существует. Поэтому в панели управления своего хостинга вам нужно создать этот почтовый ящик. Вместо info может быть no-reply, manager, admin, все что будет понятно тем, кому приходят эти письма.<br /> Адрес '''info@arenda-kvartir.ru''' нужно вписать в конфиге в поле '''system_email''' -------------- Не включайте опцию SMTP - она не работает для бесплатных почтовых служб (яндекс, mail.ru и прочих), эта опция подходит только тем, у кого есть свой сервер. <br /> <br /> Если вы уверены, что все настройки прописали правильно, то следующий шаг - нужно проверить отправку почты с хостинга в целом. Для этого мы разработали тестовый скрипт, скачать его тут http://www.sitebill.ru/storage/distr/test-mail.zip <br /> Распакуйте архив и замените вот эти адреса на ваши<br /> $from = 'info@vashsite.ru'; - здесь вписываем вместо vashsite.ru - ваш сайт<br /> $to = 'dkondin@gmail.com'; - здесь вписываем адрес почты, на который будут приходить заявки<br /> Затем загрузите измененный скрипт test-mail.php в корень вашего сайта по FTP<br /> И запустите vahssite.ru/test-mail.php<br /> Если почта с темой "Проверяем почту" - не пришла, значит проблема в хостинге и вам нужно написать в тех.поддержку хостинга, сообщите им что письма не приходят с сервера.<br /> d6f9bbe41ed3b49d68fcf6945df360259b280484 Приложения 0 6 256 239 2015-01-12T04:40:20Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Cian.ru"|Приложение "Выгрузка Cian.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[apps.api|Приложение "API"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) b25ba46eec432fdc923f659f823bdf313807bf15 265 256 2015-02-16T10:28:06Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[apps.api|Приложение "API"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 74506e6a2ea68c8ddf6c96b7ce0efe01df9ad91d 266 265 2015-02-18T05:02:45Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.api|Приложение "API"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) d1b8c1a3f148fb5015ec6d3dc02970974974a0eb 284 266 2015-04-07T11:53:39Z Abushyk 2 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение "Interkassa"]]<br /> [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.api|Приложение "API"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 8cfa9df038af7bc6a527d09c9cd8f8ed02cb846f 288 284 2015-04-27T02:18:59Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение "Interkassa"]]<br /> [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.api|Приложение "API"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 593e8f719101e9226e3a304579b3a7c7207546d6 293 288 2015-07-06T06:42:01Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение "Interkassa"]]<br /> [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.api|Приложение "API"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 6f415da74cbc6920205c9bcf409fdd18f81ebb15 Приложение "GeoData" 0 52 257 2015-01-12T04:43:49Z Kondin 1 Новая страница: «Для автоматического геокодирования необходимо обновить приложение GeoData до 1.4.9<br /> Затем …» wikitext text/x-wiki Для автоматического геокодирования необходимо обновить приложение GeoData до 1.4.9<br /> Затем зайти в Настройки - вкладка GeoData<br /> В пункте apps.geodata.try_encode ставим 1<br /> В пункте apps.geodata.try_encode_fields ставим city_id, street_id, number<br /> Сохраняем и пробуем добавить новое объявление.<br /> Координаты определяться, если вы выбрали существующий город и улицу в нем, а если указали существующий номер дома, тогда и на номер дома покажет.<br /> 729218f8d0b9a92e5036d75a74bee7b68c5ad7e2 Биллинг 0 13 258 98 2015-02-03T06:01:10Z Kondin 1 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /apps/billing/cron.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день. '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных объявлений для одного пользователя.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/billing/cron.php c809a65e99bcd557aa1ed59089e08fd8954f26ea 259 258 2015-02-03T06:25:10Z Kondin 1 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /apps/billing/cron.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день. '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных объявлений для одного пользователя.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/billing/cron.php '''<big>Настройка пользователей</big>'''<br /> После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> 5e3eca623a53c25ae4ad7d7ee3c166363b694fa7 260 259 2015-02-03T06:27:01Z Kondin 1 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /apps/billing/cron.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день. '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных объявлений для одного пользователя.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/billing/cron.php '''<big>Настройка пользователей</big>'''<br /> После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> bd48fc1d232b697f60adea915ea7ead72da27c9d 261 260 2015-02-03T06:27:34Z Kondin 1 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /apps/billing/cron.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день. '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных объявлений для одного пользователя.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/billing/cron.php '''<big>Настройка пользователей</big>'''<br /> После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li&rt;<a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> 34b3e0618df897496533271bf40d5993da401c38 262 261 2015-02-03T06:29:10Z Kondin 1 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /apps/billing/cron.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день. '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных объявлений для одного пользователя.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/billing/cron.php '''<big>Настройка пользователей</big>'''<br /> После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> 6e59ad97ec0b7d11752e2eea5a0ec34e65266b2e 297 262 2015-08-31T05:05:33Z Kondin 1 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день. '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных объявлений для одного пользователя.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php '''<big>Настройка пользователей</big>'''<br /> После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> 15621d9f3415ead29d90bd511947c6b6be136708 300 297 2015-09-10T08:55:49Z Kondin 1 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> '''<big>Настройка абонентской платы для тарифа</big>'''<br /> Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных объявлений для одного пользователя.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php '''<big>Настройка пользователей</big>'''<br /> После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> 23d23fdaaa23d6c5bdfae042a54e29fa0d25f9f4 301 300 2015-09-10T09:00:48Z Kondin 1 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> '''<big>Настройка абонентской платы для тарифа</big>'''<br /> Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран". '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных объявлений для одного пользователя.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php '''<big>Настройка пользователей</big>'''<br /> После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> f441ed7330fb05344196ebb6443cbb92e5e5d13e 302 301 2015-09-10T09:03:12Z Kondin 1 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> '''<big>Настройка абонентской платы для тарифа</big>'''<br /> Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных объявлений для одного пользователя.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php '''<big>Настройка пользователей</big>'''<br /> После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> d5a17262b6e44c4c8b317a14775a6b8214c58de7 303 302 2015-09-10T09:44:06Z Abushyk 2 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> '''<big>Настройка абонентской платы для тарифа</big>'''<br /> Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php '''<big>Настройка пользователей</big>'''<br /> После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> be773dca65cebb9ef2e8a37427df005bbb05a15b Приложение "Mysearch" 0 18 263 69 2015-02-11T06:29:54Z Kondin 1 wikitext text/x-wiki Персональная поисковая рассылка (mysearch)<br /> Данное приложение служит для того, чтобы пользователи могли сохранять поисковые запросы и выполнять поиск по этим запросам при клике по этому сохранению. Также при настройке задания в cron можно автоматически делать рассылку новых объявлений подходящих под этот поисковый запрос.<br /> Пример: Пользователь ввел в форме поиска параметры «''Аренда/1-комнатные в Центральном районе, города Саратов''». После нажатия кнопки сохранить пользователю будет предложено сохранить данный запрос (над формой поиска). Сохранение запроса доступно только авторизованным пользователям. Если пользователь не авторизован, то ему будет предложено сначала авторизоваться перед сохранением запроса.<br /> После сохранения запроса он будет записан в базу данных и будет доступен в пункте личного кабинета Мой поиск. Можно создавать любое количество сохраненных поисковых запросов.<br /> Теперь каждый день пользователю будут приходить новые объявления по запросу «''Аренда/1-комнатные в Центральном районе, города Саратов''», только если он отметил галочку «Отправлять на email».<br /> Для того чтобы выполнялась автоматическая рассылка нужно добавить задание в cron запускать раз в сутки.<br /> '''1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/mysearch/cron.php'''<br/> <br/> Отправка сообщений на SMS<br/> Сначала вам нужно добавить запись в приложение Мой поиск. Для этого на самом сайте нажмите кнопку «Сохранить поиск» и укажите номер мобильного телефона (можно любой).<br/> Затем перейдите в раздел пользователи и создайте нового пользователя с правильным мобильным телефоном и поставьте ему галочку «Активен».<br/> После этого перейдите в Приложения – Мой поиск, выберите редактирование вашей записи поиска и укажите там пользователя, которого вы только что добавили. Внизу поставьте галочку «Рассылка активна».<br/> Теперь можете запускать рассылку этому пользователю с помощью скрипта http://ваш_сайт/apps/mysearch/cron.php<br/> В дальнейшем этот скрипт нужно поставить в автоматический запуск раз в минуту или раз в час.<br/> В соответствии с этим параметром вам нужно настроить параметр delta_time в настройках – Мой поиск.<br/> Также не забудьте, что вам нужно добавить в список рассылки на сайте smspilot.ru в личном кабинете этот номер телефона.<br/> f11916e198ba360b0c5443c198c23e2f10d18212 Приложение "Авторизация через соц.сети" 0 53 267 2015-02-18T05:03:52Z Kondin 1 Новая страница: «Значения redirect_url для настроек<br /> <br /> Для Вконтакте<br /> http://ваш_сайт/socialauth/login?do=login_vk<br /> <br…» wikitext text/x-wiki Значения redirect_url для настроек<br /> <br /> Для Вконтакте<br /> http://ваш_сайт/socialauth/login?do=login_vk<br /> <br /> Для Facebook<br /> http://ваш_сайт/socialauth/login?do=login_fb<br /> <br /> Для Одноклассников<br /> http://ваш_сайт/socialauth/login?do=login_ok<br /> <br /> Для Google+<br /> http://ваш_сайт/socialauth/login?do=login_gp<br /> <br /> Для Twitter<br /> http://ваш_сайт/socialauth/login?do=login_tw<br /> <br /> 8ac6fb2f16be85973740275a82ce7710250d4060 268 267 2015-03-11T08:19:57Z Kondin 1 wikitext text/x-wiki Значения redirect_url для настроек<br /> <br /> Для Вконтакте<br /> http://ваш_сайт/socialauth/login?do=login_vk<br /> <br /> Для Facebook<br /> http://ваш_сайт/socialauth/login?do=login_fb<br /> <br /> Для Одноклассников<br /> http://ваш_сайт/socialauth/login?do=login_ok<br /> <br /> Для Google+<br /> http://ваш_сайт/socialauth/login?do=login_gl<br /> <br /> Для Twitter<br /> http://ваш_сайт/socialauth/login?do=login_tw<br /> <br /> 5e87141c260258d960f5ffb0fbb0665610b3f3e2 Дополнительные параметры элемента модели 0 32 269 116 2015-03-19T05:32:32Z Kondin 1 wikitext text/x-wiki === Маска поля ввода мобильного телефона === '''Приложения - Редактор форм - таблица data - список полей - поле phone (тип должен быть mobilephone)'''<br/> Параметры необходимо прописывать слева название параметра, справа само значение параметра, например, mask = h (hhh) hhh-hh-hh<br /> Маска задается дополнительным параметром '''mask''' в одном из полей Параметры элемента модели. Если этот параметр не задан, тогжа используется маска по умолчанию <br /> '''h (hhh) hhh-hh-hh'''<br /> где h - обозначает любое число от 0 до 9<br /> Вне зависимости от заданной маски в базе данных телефоны хранятся в виде набора цифр, а все нецифровые элементы из них удаляются. Поэтому стоит помнить, что задаваемая параметром '''mask''' маска, является лишь маской ввода, но не вывода данных на страницы сайта. Для форматирования вывода применяйте функции шаблона либо функции самого движка.<br /> Вы можете задать свою маску путем составления строки с необходимыми вам элементами. Например маска ввода номера сотового для операторов Украины:<br /> '''+38 (0hh) hhh-hh-hh'''<br /> использовав такую маску, вы получите в поле ввода, при его активации шаблон в виде ''+38 (0__) ___-__-__'', который пользователь будет обязан соблюсти. Так же по этой маске будет проверен ввод этого поля и в момент валидации полей модели.<br /> '''Важно:''' Число "9" является оним из вариантов задания позиции маски. Например, указав маску ''7999hhh'' вы получите, вместо ожидаемого шаблона в поле ''7999___'' (три подчеркивания), ''7______'' (шесть подчеркиваний). Это правило работает только для цифры 9, поэтому следует избегать ее применения в масках. 444b5e13731ab0bf159c13232e7c06e1cb5101da Приложение "Выгрузка Yandex.Realty" 0 31 270 236 2015-03-27T11:35:19Z Abushyk 2 wikitext text/x-wiki Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в вашм шаблоне. <br /> === Принимающие участие в выгрузке поля === ==== Общие поля ==== '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> ==== Агент ==== Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) ==== Валюта. ==== Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена a161ad33a13c4d36bcf67018ed82fbd9bb29886b 271 270 2015-03-27T11:46:33Z Abushyk 2 wikitext text/x-wiki Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в вашм шаблоне. <br /> === Принимающие участие в выгрузке поля === ==== Общие поля ==== '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> ==== Агент ==== Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) ==== Валюта. ==== Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена ==== Настройки ==== Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent) - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1. Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. Выгружать в файл (apps.yandexrealty.tofile) - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл. При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime) - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. 44adde8d2ccc631f7e0fe378122765d348645a48 272 271 2015-03-27T11:51:24Z Abushyk 2 wikitext text/x-wiki Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в вашм шаблоне. <br /> === Принимающие участие в выгрузке поля === ==== Общие поля ==== '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> ==== Агент ==== Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) ==== Валюта. ==== Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена ==== Настройки ==== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty 520c0898131be157179b1b0ed0dd11e02f9fee01 273 272 2015-03-27T11:52:20Z Abushyk 2 wikitext text/x-wiki Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> === Принимающие участие в выгрузке поля === ==== Общие поля ==== '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> ==== Агент ==== Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) ==== Валюта. ==== Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена ==== Настройки ==== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty 0b502bdf5281510e348b67297383c90a7e0367ad 286 273 2015-04-22T10:16:24Z Kondin 1 wikitext text/x-wiki Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> === Принимающие участие в выгрузке поля === ==== Общие поля ==== '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> ==== Агент ==== Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) ==== Валюта. ==== Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена ==== Настройки ==== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty <br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK b532a8f02d8e9c3e7f1f00782206df7205fcd0fc 287 286 2015-04-22T11:38:02Z Kondin 1 wikitext text/x-wiki Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> === Принимающие участие в выгрузке поля === ==== Общие поля ==== '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> ==== Агент ==== Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) ==== Валюта. ==== Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена ==== Настройки ==== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty <br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK c1e5db289dcb091977bac2c811c0770e59f2ec0e Приложение "Interkassa" 0 54 274 2015-04-07T11:33:20Z Abushyk 2 Новая страница: « === Настройки === Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key) - секретный кл…» wikitext text/x-wiki === Настройки === Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key) - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. Interkassa секретный ключ (apps.interkassa.secret_key) - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. ID кассы (apps.interkassa.kassa_id) - числобуквенный идентификатор кассы подключенной к данному сайту. Код валюты (apps.interkassa.currency_code) - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH Срок жизни платежа в днях (apps.interkassa.expiration_time) - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. 2e83e63de2de3258f067c322a0a4637bb35891b0 275 274 2015-04-07T11:35:59Z Abushyk 2 wikitext text/x-wiki === Описание === Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.interkassa.com/ Interkassa]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> === Настройки === Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key) - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. Interkassa секретный ключ (apps.interkassa.secret_key) - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. ID кассы (apps.interkassa.kassa_id) - числобуквенный идентификатор кассы подключенной к данному сайту. Код валюты (apps.interkassa.currency_code) - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH Срок жизни платежа в днях (apps.interkassa.expiration_time) - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. 4e9baecaed391232b83d435a1cd941c6964665fd 276 275 2015-04-07T11:36:17Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.interkassa.com/ Interkassa]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> == Настройки == Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key) - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. Interkassa секретный ключ (apps.interkassa.secret_key) - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. ID кассы (apps.interkassa.kassa_id) - числобуквенный идентификатор кассы подключенной к данному сайту. Код валюты (apps.interkassa.currency_code) - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH Срок жизни платежа в днях (apps.interkassa.expiration_time) - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. f1625e3984289379750c3756f367450e89bedfe9 277 276 2015-04-07T11:37:23Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.interkassa.com/ Interkassa]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> == Настройки == '''Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key)''' - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. <br /> '''Interkassa секретный ключ (apps.interkassa.secret_key)''' - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. <br /> '''ID кассы (apps.interkassa.kassa_id)''' - числобуквенный идентификатор кассы подключенной к данному сайту. <br /> '''Код валюты (apps.interkassa.currency_code)''' - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH <br /> '''Срок жизни платежа в днях (apps.interkassa.expiration_time)''' - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. c3fdbae45aed47d234937b21a6fc4e1f31348d8b 278 277 2015-04-07T11:39:35Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.interkassa.com/ Interkassa]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> == Предварительные действия == * Создать аккаунт на сайте системы Interkassa * Создать кассу для вашего сайта и подтвердить права на сайт * Заполнить настройки кассы == Настройки кассы == == Настройки приложения == '''Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key)''' - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. <br /> '''Interkassa секретный ключ (apps.interkassa.secret_key)''' - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. <br /> '''ID кассы (apps.interkassa.kassa_id)''' - числобуквенный идентификатор кассы подключенной к данному сайту. <br /> '''Код валюты (apps.interkassa.currency_code)''' - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH <br /> '''Срок жизни платежа в днях (apps.interkassa.expiration_time)''' - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. c2ddafd524ddbf7a182091e82d86013de7a09109 279 278 2015-04-07T11:44:30Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.interkassa.com/ Interkassa]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> == Предварительные действия == * Создать аккаунт на сайте системы Interkassa * Создать кассу для вашего сайта и подтвердить права на сайт * Заполнить настройки кассы в разделе Интерфейс == Настройки кассы == == Настройки приложения == '''Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key)''' - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. <br /> '''Interkassa секретный ключ (apps.interkassa.secret_key)''' - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. <br /> '''ID кассы (apps.interkassa.kassa_id)''' - числобуквенный идентификатор кассы подключенной к данному сайту. <br /> '''Код валюты (apps.interkassa.currency_code)''' - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH <br /> '''Срок жизни платежа в днях (apps.interkassa.expiration_time)''' - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. f49aaffd2dfb5675401ad4b2244109d5c3ee9808 280 279 2015-04-07T11:48:04Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.interkassa.com/ Interkassa]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> == Предварительные действия == * Создать аккаунт на сайте системы Interkassa * Создать кассу для вашего сайта и подтвердить права на сайт * Заполнить настройки кассы в разделе Интерфейс == Настройки кассы "Интерфейс" == <br /> '''URL успешной оплаты''' - http://ваш_домен/account<br /> '''URL неуспешной оплаты''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''URL ожидания проведения платежа''' - произвольный.<br /> '''URL взаимодействия''' - http://ваш_домен/apps/interkassa/listener.php == Настройки приложения == '''Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key)''' - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. <br /> '''Interkassa секретный ключ (apps.interkassa.secret_key)''' - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. <br /> '''ID кассы (apps.interkassa.kassa_id)''' - числобуквенный идентификатор кассы подключенной к данному сайту. <br /> '''Код валюты (apps.interkassa.currency_code)''' - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH <br /> '''Срок жизни платежа в днях (apps.interkassa.expiration_time)''' - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. 397146119e19c1f83829f22a4a2c93228812fecb 281 280 2015-04-07T11:48:47Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.interkassa.com/ Interkassa]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> == Предварительные действия == * Создать аккаунт на сайте системы Interkassa * Создать кассу для вашего сайта и подтвердить права на сайт * Заполнить настройки кассы в разделе Интерфейс == Настройки кассы "Интерфейс" == <br /> '''URL успешной оплаты''' - <nowiki>http://ваш_домен/account</nowiki><br /> '''URL неуспешной оплаты''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''URL ожидания проведения платежа''' - произвольный.<br /> '''URL взаимодействия''' - <nowiki>http://ваш_домен/apps/interkassa/listener.php</nowiki> == Настройки приложения == '''Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key)''' - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. <br /> '''Interkassa секретный ключ (apps.interkassa.secret_key)''' - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. <br /> '''ID кассы (apps.interkassa.kassa_id)''' - числобуквенный идентификатор кассы подключенной к данному сайту. <br /> '''Код валюты (apps.interkassa.currency_code)''' - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH <br /> '''Срок жизни платежа в днях (apps.interkassa.expiration_time)''' - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. 24bc833f38fb43fca6d96c9a8f4a8309a042ecea 282 281 2015-04-07T11:49:05Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.interkassa.com/ Interkassa]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> == Предварительные действия == * Создать аккаунт на сайте системы Interkassa * Создать кассу для вашего сайта и подтвердить права на сайт * Заполнить настройки кассы в разделе Интерфейс == Настройки кассы "Интерфейс" == '''URL успешной оплаты''' - <nowiki>http://ваш_домен/account</nowiki><br /> '''URL неуспешной оплаты''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''URL ожидания проведения платежа''' - произвольный.<br /> '''URL взаимодействия''' - <nowiki>http://ваш_домен/apps/interkassa/listener.php</nowiki> == Настройки приложения == '''Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key)''' - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. <br /> '''Interkassa секретный ключ (apps.interkassa.secret_key)''' - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. <br /> '''ID кассы (apps.interkassa.kassa_id)''' - числобуквенный идентификатор кассы подключенной к данному сайту. <br /> '''Код валюты (apps.interkassa.currency_code)''' - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH <br /> '''Срок жизни платежа в днях (apps.interkassa.expiration_time)''' - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. 129cdb843dea60227c9c4c9d106767a57e3af418 283 282 2015-04-07T11:52:11Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.interkassa.com/ Interkassa]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> == Предварительные действия == * Создать аккаунт на сайте системы Interkassa * Создать кассу для вашего сайта и подтвердить права на сайт * Заполнить настройки кассы в разделе Интерфейс == Настройки кассы "Интерфейс" == '''URL успешной оплаты''' - <nowiki>http://ваш_домен/account/balance/</nowiki><br /> '''URL неуспешной оплаты''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''URL ожидания проведения платежа''' - произвольный.<br /> '''URL взаимодействия''' - <nowiki>http://ваш_домен/apps/interkassa/listener.php</nowiki> == Настройки приложения == '''Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key)''' - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. <br /> '''Interkassa секретный ключ (apps.interkassa.secret_key)''' - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. <br /> '''ID кассы (apps.interkassa.kassa_id)''' - числобуквенный идентификатор кассы подключенной к данному сайту. <br /> '''Код валюты (apps.interkassa.currency_code)''' - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH <br /> '''Срок жизни платежа в днях (apps.interkassa.expiration_time)''' - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. 04a52d682cd4442b429f87dea04544d434f3ea30 Перевод 0 38 285 251 2015-04-16T07:01:48Z Kondin 1 wikitext text/x-wiki Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.<br /> Например, нужно сделать перевод для поля text (описание) на английский язык (en).<br /> Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.<br /> В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.<br /> Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br /> Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. === Локализации === Языки подключаются в два этапа - этап локализации системы и этап локализации приложения ==== Этап локализации системы ==== Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language.<br /> В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1.<br /> Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык.<br /> ==== Этап локализации приложения ==== Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения. Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language.<br /> Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные ==== Редактор языков в админке ==== В новых версиях создан редактор языков в панели управления '''Приложения - Редактор переводов''' 0e9f8ad30a694a1491a3d165c796593535f8ab6e 291 285 2015-05-29T05:38:53Z Kondin 1 wikitext text/x-wiki Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.<br /> Например, нужно сделать перевод для поля text (описание) на английский язык (en).<br /> Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.<br /> В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.<br /> Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br /> Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. === Локализации === Языки подключаются в два этапа - этап локализации системы и этап локализации приложения ==== Этап локализации системы ==== Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language.<br /> В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1.<br /> Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык.<br /> ==== Этап локализации приложения ==== Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения. Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language.<br /> Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные ==== Редактор языков в админке ==== В новых версиях создан редактор языков в панели управления '''Приложения - Редактор переводов''' ==== Необходимые изменения в базе данных ==== Когда вы добавляете свой язык, вам необходимо добавить дополнительные поля в базе данных с помощью этих команд:<br /> alter table re_topic add column name_яз varchar(255);<br /> alter table re_menu_structure add column name_яз varchar(255);<br /> Где яз - это ваш языковой префикс. Например, если вы добавили японский язык, тогда яз = jp<br /> ee9ddb693eade0b1d7d6a619918987646a814915 Общие настройки 0 45 289 185 2015-05-11T09:12:45Z Abushyk 2 wikitext text/x-wiki '''Тип капчи (captcha_type)'''<br /> Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha <br /> '''link_metro_to_district (link_metro_to_district)'''<br /> Вводит признак связи значений из элемента merto_id со значениями из элемента district_id <br /> '''Уведомлять пользователя о регистрации (registration_notice)'''<br /> Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. <br /> '''Выводить помощника в админке (show_admin_helper)'''<br /> <br /> '''Категория по-умолчанию (выводится на главной) (default_topic)'''<br /> Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. <br /> '''Ключ карты яндекс (yandex_map_key)'''<br /> Устарело. Не используется нигде, кроме самых древних шаблонов. <br /> '''Заголовок сайта (site_title)'''<br /> Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. <br /> '''Количество объявлений на одну страницу (per_page)'''<br /> Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. <br /> '''Тема оформления (theme)'''<br /> Имя шаблона сайта. <br /> '''Город (для отображения на карте yandex) (city)'''<br /> Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. <br /> '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор района в форме объявления (district_in_form)'''<br /> Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор улицы в форме объявления (street_in_form)'''<br /> Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Разрешить регистрацию на сайте (allow_register_account)'''<br /> Включает возможность регистрации на сайте пользователей. <br /> '''SMTP-сервер для отправки заявок (smtp1_server)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-login (smtp1_login)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-password (smtp1_password)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-port (smtp1_port)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-от кого (smtp1_from)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Отправка почты через smtp (use_smtp)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Email на который будут приходить заявки с сайта (order_email_acceptor)'''<br /> Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. <br /> '''WYSIWYG-редактор (editor)'''<br /> Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. <br /> '''Показывать рекламу (show_demo_banners)'''<br /> Управления показом встроенных демобаннеров в шапке сайта <br /> '''Стоимость размещения одного специального предложения (special_advert_cost)'''<br /> Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Адрес службы приема платежей robokassa.ru (robokassa_server)'''<br /> '''Логин для robokassa.ru (robokassa_login)'''<br /> '''Пароль 1 для robokassa.ru (robokassa_password1)'''<br /> '''Пароль 2 для robokassa.ru (robokassa_password2)'''<br /> Набор настроек для возможности совершения оплаты через сервис Робокассы <br /> '''Лицензионный ключ (license_key)'''<br /> Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. <br /> '''Режим ajax в формах администратора (ajax_form_in_admin)'''<br /> Включает цепное обновление зависимых элементов в формах в админке <br /> '''Режим ajax в формах личного кабинета (ajax_form_in_user)'''<br /> Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора <br /> '''Сервер авторизации sitebill.ru (ajax_auth_form)'''<br /> Нечто специфичное и, видимо, устаревшее <br /> '''Количество новостей в колонке (news_count_in_column)'''<br /> Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. <br /> '''update1 (update1)'''<br /> Системная настройка. Не предполагает изменения пользователем. <br /> '''Использовать watermark на фотографиях (is_watermark)'''<br /> Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. <br /> '''Тип верхнего меню (purecss/slidemenu) (menu_type)'''<br /> Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. <br /> '''Прятать каталоги без содержимого (hide_empty_catalog)'''<br /> Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. <br /> '''Количество позиций на страницу (common_per_page)'''<br /> Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. <br /> '''Разрешить напоминание пароля (allow_remind_password)'''<br /> Включает возможность восстановления пароля к ЛК. <br /> '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)'''<br /> Указывает количество фотографий на страницу в приложении Галерея. <br /> '''Стоимость размещения одного простого объявления (advert_cost)'''<br /> Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)'''<br /> Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. <br /> '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Текст соглашения после формы (post_form_agreement_text)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Активировать выдачу соглашения после формы (post_form_agreement_enable)'''<br /> Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. <br /> '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)'''<br /> Устарело. Никакого функционала в 99% случаев не имеет. <br /> '''Включить авторегистрацию (autoreg_enable)'''<br /> Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. <br /> '''WYSIWYG-редактор1 (editor1)'''<br /> Частный случай. <br /> '''Включить привязку улиц к городу (link_street_to_city)'''<br /> Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. <br /> '''Использовать карту Google (use_google_map)'''<br /> Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. <br /> '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)'''<br /> Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. <br /> '''Пользователи могут добавлять улицы (user_add_street_enable)'''<br /> Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. <br /> '''Редактировать лицевой счет пользователя в админке (user_account_enable)'''<br /> <br /> '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)'''<br /> Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. <br /> '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)'''<br /> Тип загрузчика картинок для поля типа uploadify_image <br /> '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)'''<br /> Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. <br /> '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)'''<br /> Устаревшее <br /> '''Включить поддержку нескольких валют (currency_enable)'''<br /> Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. <br /> '''Количество объявлений на страницу в админке (per_page_admin)'''<br /> Кличество объявления на страницу. Только для административной части. <br /> '''Название закладки формы по-умолчанию (default_tab_name)'''<br /> Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. <br /> '''Разрешить картинки в разделах (allow_topic_images)'''<br /> В разработке. <br /> '''Заголовок главной (meta_title_main)'''<br /> Текст, который будет помещен в тег head>title для главной страницы. <br /> '''Ключевые слова главной (meta_keywords_main)'''<br /> Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. <br /> '''Мета-описание главной (meta_description_main)'''<br /> Текст, который будет помещен в тег head>meta[name=description] для главной страницы. <br /> '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)'''<br /> Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. <br /> '''Подпись в письмах (email_signature)'''<br /> Текс, который будет размещаться в конце писем, отправляемых сайтом. <br /> '''Делить формы на шаги (divide_step_form)'''<br /> Частный случай. <br /> '''Не допускать добавления дубликатов данных (filter_double_data)'''<br /> Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. <br /> '''Использовать combobox в элементах select (use_combobox)'''<br /> Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. <br /> '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)'''<br /> Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. <br /> '''Игнорировать свободно с (ignore_free_from_parameter)'''<br /> Частный случай. <br /> '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)'''<br /> Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. <br /> '''Количество VIP-объявлений в колонке (vip_rotator_number)'''<br /> Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. <br /> '''Цена Премиум-объявления за 1 день (premium_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. <br /> '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)'''<br /> Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. <br /> '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)'''<br /> Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. <br /> '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)'''<br /> Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. <br /> '''Цена выделения объявления за 1 день (bold_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. <br /> '''Цена одного поднятия (ups_price)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. <br /> '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)'''<br /> Включить возможность устанавливать статус Спецпредложение в ЛК. <br /> '''Использовать локальную форму добавления объявлений (use_custom_addform)'''<br /> Частный случай. <br /> '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)'''<br /> Тип вывода сетки объявлений по умолчанию. <br /> '''Админ может поднимать объявления (show_up_icon)'''<br /> Включение кнопки поднятия объявления в списке объявлений в админке. <br /> '''Блокировать формы поиска пользователя (block_user_search_forms)'''<br /> Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. <br /> '''Блокировать фронтальные сетки пользователя (block_user_front_grids)'''<br /> Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. <br /> '''Количество похожих объявлений в просмотре объявления (similar_items_count)'''<br /> Количество объявлений которые будут отображены в разделе Похожие объявления. <br /> '''Ширина картинки пользователя (user_pic_width)'''<br /> '''Высота картинки пользователя (user_pic_height)'''<br /> Регулируют размеры аватарки пользователя. <br /> '''Название валюты в личном кабинете (ue_name)'''<br /> Строковое название внутренней валюты ЛК. <br /> '''Формат даты (date_format)'''<br /> В разработке. <br /> '''От чьего email будут отправляться письма с сайта. (system_email)'''<br /> '''Сохранять копию избражений без водяного знака (save_without_watermark)'''<br /> Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. <br /> '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)'''<br /> Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. <br /> '''Использовать встроенный счетчик просмотров (use_realty_view_counter)'''<br /> Включение\отключение встроенного счетчика просмотров объявления <br /> '''Не публиковать объявления из ЛК без премодерации (moderate_first)'''<br /> Принудительно ставит на объявления добавленные или измененные через ЛК статус неактивности. <br /> '''Ширина большой картинки в комплексах (complex_image_big_width)'''<br /> '''Высота большой картинки в комплексах (complex_image_big_height)'''<br /> '''Ширина превью картинки в комплексах (complex_image_preview_width)'''<br /> '''Высота превью картинки в комплексах (complex_image_preview_height)'''<br /> Набор параметров для загружаемых картинок для Жилых комплексов. Применимо к типу поля uploadify_image. <br /> '''Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data)'''<br /> В форме объявления в ЛК позволяет убрать поля контактных данных (имя, телефон, email) связи с их избыточностью. <br /> '''Уведомлять администратора о платежах по email (notify_about_payment)'''<br /> При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. <br /> '''Закрыть сайт (is_underconstruction)'''<br /> Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. <br /> '''IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip)'''<br /> Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. <br /> '''Регистрация: сила пароля (0|1|2|3) (register_passstregth)'''<br /> Указывает силу пароля задаваемого пользователем при регистрации. Може иметь целочисельное значение от 0 до 3, где 0 - умолчательное<br /> 0 - допускается любой пароль кроме самых слабых, например состоящих из одного и того же знака (11111 или dddddd)<br /> 1 - пароль должен содержать цифры и буквы (хотя бы одну букву и хотя бы одну цифру)<br /> 2 - пароль должен содержать цифры и буквы в разном регистре<br /> 3 - кроме цифр и букв в разном регистре, пароль должен содержать хотя бы один символ не цифро-буквенного ряда<br /> <br /> '''Куда добавлять количество страниц в заголовке (add_pagenumber_title_place)'''<br /> Указывает месторазмещение надписи ''[Страница N]''. Имеет смысл при включенной настройке ''(add_pagenumber_title)''<br /> Может размещать эту надпись в заголовке страницы, в заголовке браузера или в обеих местах. <br /> 5c8153dd091697545ddff980f8124b1cd5feb30f 299 289 2015-09-04T03:06:09Z Kondin 1 wikitext text/x-wiki '''Тип капчи (captcha_type)'''<br /> Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha <br /> '''link_metro_to_district (link_metro_to_district)'''<br /> Вводит признак связи значений из элемента merto_id со значениями из элемента district_id <br /> '''Уведомлять пользователя о регистрации (registration_notice)'''<br /> Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. <br /> '''Выводить помощника в админке (show_admin_helper)'''<br /> <br /> '''Категория по-умолчанию (выводится на главной) (default_topic)'''<br /> Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. <br /> '''Ключ карты яндекс (yandex_map_key)'''<br /> Устарело. Не используется нигде, кроме самых древних шаблонов. <br /> '''Заголовок сайта (site_title)'''<br /> Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. <br /> '''Количество объявлений на одну страницу (per_page)'''<br /> Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. <br /> '''Тема оформления (theme)'''<br /> Имя шаблона сайта. <br /> '''Город (для отображения на карте yandex) (city)'''<br /> Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. <br /> '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор района в форме объявления (district_in_form)'''<br /> Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор улицы в форме объявления (street_in_form)'''<br /> Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Разрешить регистрацию на сайте (allow_register_account)'''<br /> Включает возможность регистрации на сайте пользователей. <br /> '''SMTP-сервер для отправки заявок (smtp1_server)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-login (smtp1_login)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-password (smtp1_password)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-port (smtp1_port)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-от кого (smtp1_from)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Отправка почты через smtp (use_smtp)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Email на который будут приходить заявки с сайта (order_email_acceptor)'''<br /> Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. <br /> '''WYSIWYG-редактор (editor)'''<br /> Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. <br /> '''Показывать рекламу (show_demo_banners)'''<br /> Управления показом встроенных демобаннеров в шапке сайта <br /> '''Стоимость размещения одного специального предложения (special_advert_cost)'''<br /> Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Адрес службы приема платежей robokassa.ru (robokassa_server)'''<br /> '''Логин для robokassa.ru (robokassa_login)'''<br /> '''Пароль 1 для robokassa.ru (robokassa_password1)'''<br /> '''Пароль 2 для robokassa.ru (robokassa_password2)'''<br /> Набор настроек для возможности совершения оплаты через сервис Робокассы <br /> '''Лицензионный ключ (license_key)'''<br /> Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. <br /> '''Режим ajax в формах администратора (ajax_form_in_admin)'''<br /> Включает цепное обновление зависимых элементов в формах в админке <br /> '''Режим ajax в формах личного кабинета (ajax_form_in_user)'''<br /> Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора <br /> '''Сервер авторизации sitebill.ru (ajax_auth_form)'''<br /> Нечто специфичное и, видимо, устаревшее <br /> '''Количество новостей в колонке (news_count_in_column)'''<br /> Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. <br /> '''update1 (update1)'''<br /> Системная настройка. Не предполагает изменения пользователем. <br /> '''Использовать watermark на фотографиях (is_watermark)'''<br /> Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. <br /> '''Тип верхнего меню (purecss/slidemenu) (menu_type)'''<br /> Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. <br /> '''Прятать каталоги без содержимого (hide_empty_catalog)'''<br /> Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. <br /> '''Количество позиций на страницу (common_per_page)'''<br /> Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. <br /> '''Разрешить напоминание пароля (allow_remind_password)'''<br /> Включает возможность восстановления пароля к ЛК. <br /> '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)'''<br /> Указывает количество фотографий на страницу в приложении Галерея. <br /> '''Стоимость размещения одного простого объявления (advert_cost)'''<br /> Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)'''<br /> Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. <br /> '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Текст соглашения после формы (post_form_agreement_text)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Активировать выдачу соглашения после формы (post_form_agreement_enable)'''<br /> Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. <br /> '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)'''<br /> Устарело. Никакого функционала в 99% случаев не имеет. <br /> '''Включить авторегистрацию (autoreg_enable)'''<br /> Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. <br /> '''WYSIWYG-редактор1 (editor1)'''<br /> Частный случай. <br /> '''Включить привязку улиц к городу (link_street_to_city)'''<br /> Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. <br /> '''Использовать карту Google (use_google_map)'''<br /> Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. <br /> '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)'''<br /> Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. <br /> '''Пользователи могут добавлять улицы (user_add_street_enable)'''<br /> Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. <br /> '''Редактировать лицевой счет пользователя в админке (user_account_enable)'''<br /> <br /> '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)'''<br /> Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. <br /> '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)'''<br /> Тип загрузчика картинок для поля типа uploadify_image <br /> '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)'''<br /> Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. <br /> '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)'''<br /> Устаревшее <br /> '''Включить поддержку нескольких валют (currency_enable)'''<br /> Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. <br /> '''Количество объявлений на страницу в админке (per_page_admin)'''<br /> Кличество объявления на страницу. Только для административной части. <br /> '''Название закладки формы по-умолчанию (default_tab_name)'''<br /> Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. <br /> '''Разрешить картинки в разделах (allow_topic_images)'''<br /> В разработке. <br /> '''Заголовок главной (meta_title_main)'''<br /> Текст, который будет помещен в тег head>title для главной страницы. <br /> '''Ключевые слова главной (meta_keywords_main)'''<br /> Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. <br /> '''Мета-описание главной (meta_description_main)'''<br /> Текст, который будет помещен в тег head>meta[name=description] для главной страницы. <br /> '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)'''<br /> Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. <br /> '''Подпись в письмах (email_signature)'''<br /> Текс, который будет размещаться в конце писем, отправляемых сайтом. <br /> '''Делить формы на шаги (divide_step_form)'''<br /> Частный случай. <br /> '''Не допускать добавления дубликатов данных (filter_double_data)'''<br /> Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. <br /> '''Использовать combobox в элементах select (use_combobox)'''<br /> Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. <br /> '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)'''<br /> Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. <br /> '''Игнорировать свободно с (ignore_free_from_parameter)'''<br /> Частный случай. <br /> '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)'''<br /> Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. <br /> '''Количество VIP-объявлений в колонке (vip_rotator_number)'''<br /> Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. <br /> '''Цена Премиум-объявления за 1 день (premium_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. <br /> '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)'''<br /> Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. <br /> '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)'''<br /> Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. <br /> '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)'''<br /> Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. <br /> '''Цена выделения объявления за 1 день (bold_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. <br /> '''Цена одного поднятия (ups_price)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. <br /> '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)'''<br /> Включить возможность устанавливать статус Спецпредложение в ЛК. <br /> '''Использовать локальную форму добавления объявлений (use_custom_addform)'''<br /> Частный случай. <br /> '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)'''<br /> Тип вывода сетки объявлений по умолчанию. <br /> '''Админ может поднимать объявления (show_up_icon)'''<br /> Включение кнопки поднятия объявления в списке объявлений в админке. <br /> '''Блокировать формы поиска пользователя (block_user_search_forms)'''<br /> Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. <br /> '''Блокировать фронтальные сетки пользователя (block_user_front_grids)'''<br /> Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. <br /> '''Количество похожих объявлений в просмотре объявления (similar_items_count)'''<br /> Количество объявлений которые будут отображены в разделе Похожие объявления. <br /> '''Ширина картинки пользователя (user_pic_width)'''<br /> '''Высота картинки пользователя (user_pic_height)'''<br /> Регулируют размеры аватарки пользователя. <br /> '''Название валюты в личном кабинете (ue_name)'''<br /> Строковое название внутренней валюты ЛК. <br /> '''Формат даты (date_format)'''<br /> В разработке. <br /> '''От чьего email будут отправляться письма с сайта. (system_email)'''<br /> '''Сохранять копию избражений без водяного знака (save_without_watermark)'''<br /> Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. <br /> '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)'''<br /> Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. <br /> '''Использовать встроенный счетчик просмотров (use_realty_view_counter)'''<br /> Включение\отключение встроенного счетчика просмотров объявления <br /> '''Не публиковать объявления из ЛК без премодерации (moderate_first)'''<br /> Принудительно ставит на объявления добавленные или измененные через ЛК статус неактивности. <br /> '''Ширина большой картинки в комплексах (complex_image_big_width)'''<br /> '''Высота большой картинки в комплексах (complex_image_big_height)'''<br /> '''Ширина превью картинки в комплексах (complex_image_preview_width)'''<br /> '''Высота превью картинки в комплексах (complex_image_preview_height)'''<br /> Набор параметров для загружаемых картинок для Жилых комплексов. Применимо к типу поля uploadify_image. <br /> '''Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data)'''<br /> В форме объявления в ЛК позволяет убрать поля контактных данных (имя, телефон, email) связи с их избыточностью. <br /> '''Уведомлять администратора о платежах по email (notify_about_payment)'''<br /> При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. <br /> '''Закрыть сайт (is_underconstruction)'''<br /> Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. <br /> '''IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip)'''<br /> Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. <br /> '''Регистрация: сила пароля (0|1|2|3) (register_passstregth)'''<br /> Указывает силу пароля задаваемого пользователем при регистрации. Може иметь целочисельное значение от 0 до 3, где 0 - умолчательное<br /> 0 - допускается любой пароль кроме самых слабых, например состоящих из одного и того же знака (11111 или dddddd)<br /> 1 - пароль должен содержать цифры и буквы (хотя бы одну букву и хотя бы одну цифру)<br /> 2 - пароль должен содержать цифры и буквы в разном регистре<br /> 3 - кроме цифр и букв в разном регистре, пароль должен содержать хотя бы один символ не цифро-буквенного ряда<br /> <br /> '''Куда добавлять количество страниц в заголовке (add_pagenumber_title_place)'''<br /> Указывает месторазмещение надписи ''[Страница N]''. Имеет смысл при включенной настройке ''(add_pagenumber_title)''<br /> Может размещать эту надпись в заголовке страницы, в заголовке браузера или в обеих местах. <br /> '''Формат строки заголовка (apps.realty.title_preg)''' - находится во вкладке Дополнительно<br /> Тут можно прописать с помощью тегов '''{city_id}, {street_id}, {number}''' - нужный нам формат заголовка. В {} - указывается системное название колонки для вывода. А все что не входит в {} будет выводится как есть. 7202a9a60ed48a38ed40fb6e3dbea2e2a2f61149 Excel 0 23 290 87 2015-05-17T04:31:25Z Kondin 1 wikitext text/x-wiki Загрузка картинок в платной версии Excel выполняется следующим образом. Для начала вам нужно обновить приложение Excel до версии '''1.8.2''' и выше через [[Центр обновлений|центр обновлений]].<br /> Затем загрузить картинки через FTP в каталог ''/cache/upl/xls_uploads/''. Названия для фотографий лучше давать латинскими буквами или цифрами. Например, '''1.jpg; 123.jpg; vid.jpg'''.<br /> Теперь нужно в загружаемом файле Excel добавить колонку с названием Фотографии (либо иначе). Причем обязательно назвать в точности так, как называется поле c системным именем '''image''' в Вашем наборе полей для таблицы data, потому что по ней будет выполнен автоматический поиск.<br /> В колонке фотографии нужно добавить список названий файлов фотографий, принадлежащий данному объявлению. Если фотографий несколько, то нужно разделить названия с помощью символа ''';''' <br /> Пример '''1.jpg;2.jpg;3.jpg''';<br /> Убедитесь перед загрузкой файла Excel в том, что соответствующие файлы фотографий загружены в каталог ''/cache/upl/xls_uploads/''. И после можете нажимать загрузку файла в базу данных. После обработки фотографии автоматически удаляются из каталога ''/cache/upl/xls_uploads/''. Также автоматически создаются превью и большие фото. Но следует учесть, что размер фото не должен превышать допустимого размера, который может обработать хостинг. 9a5b4cba0af7f65a02bbe04656bd2517d392edcc Приложение "Выгрузка Afy.ru" 0 41 292 156 2015-06-17T04:10:24Z Kondin 1 wikitext text/x-wiki Примечание: данное приложение работает как дополнение к CMS Sitebill http://www.sitebill.ru/<br/> Скопируйте приложение в каталог ./apps/afyexporter/<br/> Запустите сначала приложение через панель управления. Для этого зайдите в Приложения – Выгрузка AFY. В момент запуска будут прописаны конфигурационные параметры. <br/> После этого нужно зайти в настройки в закладку Выгрузка AFY. Тут вам нужно прописать страну по-умолчанию. Например, Россия.<br/> Затем с помощью конструктора полей форм вам нужно добавить новые колонки в таблицу data.<br/> price_per "Цена за" - селектбокс<br/> {0~~за все} {1~~за квадратный метр} {2~~за сотку} {3~~за гектар}<br/> square_unit "Единица площади" - селектбокс<br/> {0~~квадратный метр} {2~~сотка} {3~~гектар}<br/> Оба значение по-умолчанию 0.<br/> export_afy Вынружать в AFY чекбокс, значение по-умолчанию 0<br/> <br/> Также вам в настройках нужно включить использование нескольких валют.<br/> И нужно установить соответствия каждой категории. Заходим в Приложения – Выгрузка AFY. Нажимаем кнопку Установка ассоциаций. Здесь необходимо для каждой родительской категории установить Тип недвижимости. <br/>Можно нажать галочку «унаследовать потомкам». В этом случае этот тип недвижимости автоматически будет присвоен всем дочерним категориям.<br/> Теперь можно выгружать объявления. Для этого служит адрес http://ваш_сайт/afyexport/<br/> Все вопросы можно обсудить на форуме: http://www.etown.ru/s/<br/> <br/> '''Обработка ошибок'''<br/> Для того чтобы определить почему не выгружаются объявления, можно посмотреть файл лога. Находится он по адресу http://ваш_сайт/apps/afyexporter/logs/export_logs.txt f40b72e4a417023c16f502ef86b495433749301e Apps.complex 0 55 294 2015-07-06T06:46:39Z Kondin 1 Новая страница: «== Приложение "Жилые комплексы" ==<br /> === Инструкция по установке ===<br /> # Скопируйте файлы и…» wikitext text/x-wiki == Приложение "Жилые комплексы" ==<br /> === Инструкция по установке ===<br /> # Скопируйте файлы из архива в корень сайта # Зайдите в панель управления в Приложения - Жилые комплексы, будет выполнена первая инциализация # Зайдите в настройки и во вкладке Жилые комплексы поставьте 1 в поле '''Включить приложение Жилые комплексы''' # Теперь можно заполнять записи в Приложения - Жилые комплексы. # Выводиться они будут на сайте по адресу ваш_сайт/complex - алиас приложения можно исправить в настройках. Примечание: Если у вас шаблон не agency, тогда напишите запрос в поддержку, чтобы вам отправил архив для вашего шаблона тут http://www.sitebill.ru/client/supporttickets.php b5e3fa39f53483d3a05fb805fb5eecb6fe582844 295 294 2015-07-06T06:46:55Z Kondin 1 wikitext text/x-wiki == Приложение "Жилые комплексы" == === Инструкция по установке === # Скопируйте файлы из архива в корень сайта # Зайдите в панель управления в Приложения - Жилые комплексы, будет выполнена первая инциализация # Зайдите в настройки и во вкладке Жилые комплексы поставьте 1 в поле '''Включить приложение Жилые комплексы''' # Теперь можно заполнять записи в Приложения - Жилые комплексы. # Выводиться они будут на сайте по адресу ваш_сайт/complex - алиас приложения можно исправить в настройках. Примечание: Если у вас шаблон не agency, тогда напишите запрос в поддержку, чтобы вам отправил архив для вашего шаблона тут http://www.sitebill.ru/client/supporttickets.php 153bcbb87630b5f43672644f12db361d2eeaa32a 296 295 2015-07-06T10:49:59Z Kondin 1 wikitext text/x-wiki == Приложение "Жилые комплексы" == === Инструкция по установке === # Скопируйте файлы из архива в корень сайта # Зайдите в панель управления в Приложения - Жилые комплексы, будет выполнена первая инциализация # Зайдите в настройки и во вкладке Жилые комплексы поставьте 1 в поле '''Включить приложение Жилые комплексы''' # Теперь можно заполнять записи в Приложения - Жилые комплексы. # Выводиться они будут на сайте по адресу ваш_сайт/complex - алиас приложения можно исправить в настройках. Примечание: Если у вас шаблон не agency, тогда напишите запрос в поддержку, чтобы вам отправил архив для вашего шаблона тут http://www.sitebill.ru/client/supporttickets.php == Связка жилых комплексов и объявлений == Для того чтобы при добавлении объявления можно было указывать определенный жилой комплекс, нужно при помощи Редактора форм (http://www.youtube.com/watch?v=vy-jqqsU7dE) добавить поле complex_id в таблицу data.<br /> Параметры этого поля: # Колонка активна: '''выбрано''' # Таблица: '''data''' # Тип записи: '''select_by_query''' # Название колонки (системное): '''complex_id''' # Название колонки для человека: '''Жилой комплекс''' # Значение по-умолчанию: '''0''' # Название таблицы из которой получаем данные для связки: '''complex''' # Название ключа связки с другой таблицей: '''complex_id''' # Название переменной для select_box: '''name''' # Заголовок строчки в select_box по-умолчанию: '''выбрать ЖК''' # Значение строчки в select_box по-умолчанию: '''0''' 58636f3dbe82a8909f5dde004c46d661fcb95b07 Структура разделов 0 17 298 65 2015-09-02T11:01:39Z Kondin 1 wikitext text/x-wiki Все объявления разделены по категориям. Аренда, Продажа, Новостройки и прочее. В каждом разделе есть возможность выбора подразделов.<br /> Дерево этих разделов можно править в панели управления. В пункте меню Структура.<br /> При удалении выполняется проверка – если в данном разделе и его дочерних подразделах существуют объявления, то система выведет сообщение о том, что сначала нужно удалить все объявления оттуда. Также будет ошибка при удалении если попробовать удалить родительский раздел в котором есть дочерние разделы. В этом случае также нужно сначала удалить все дочерние разделы.<br /> При создании нового раздела заполняются следующие поля:<br /> '''Родительский раздел''' – определяет в будет ли новый раздел входить в состав какого-либо существующего раздела. С помощью этого выбора можно создавать цепочки: Коммерческая / Офисы / Аренда.<br /> '''Название раздела''' – это поле для русского названия раздела. Если в вашей системе установлено больше одного языка, то внизу будут дополнительные поля с постфиксами языков, например am, cn, en, ua. Соответственно эти названия будут выводиться, когда пользователь будет переключаться между языками.<br /> '''Meta title''' – это название для строчки браузера и посковиков. В текущей версии все мета-теги только на одном языке. '''Meta keywords''' и '''Meta description''' – также заполняются для поисковых систем.<br /> '''Описание''' – данное описание будет выведено в виде текста под таблицей объявлений в этом разделе. Хорошо помогает при продвижении и поисковой оптимизации. Ну и конечно, не будет лишним для людей и сделает ваш сайт более понятным в использовании.<br /> '''ЧПУ''' – сюда вписывается URL или часть адреса страницы (в случае если включен SEO-режим). Если это полный адрес, то сюда нужно вписать строку вида arenda-kvartir только латинскими буквами. Если это часть адреса, тогда пишем сюда только ту часть, к которой он относится. Например, 1-komn, также латинскими буквами. В сумме этот адрес будет иметь вид arena/1-konm, т.е. система автоматически подберет URL часть из верхнего раздела и добавит часть из текущего.<br/> Начиная с версии system 3.0.29 в настройках доступна '''опция use_topic_publish_status''', если активировать эту опцию, тогда в редакторе элемента структуры появиться галочка '''Раздел активен'''.<br/> По-умолчанию '''Раздел активен''' - всегда выбран. Если убрать эту галочку и сохранить, тогда данный раздел не будет выводится на сайте и в него нельзя будет добавить объявления. e7ec2ab3f0da80e6e2dbf87f0f14639afc07a594 Биллинг 0 13 304 303 2015-09-10T09:50:47Z Abushyk 2 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> '''<big>Настройка абонентской платы для тарифа</big>'''<br /> Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php '''<big>Настройка пользователей</big>'''<br /> После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> 6a4b85033aa3a73c5cfcecbfc5e6ae0269544627 305 304 2015-09-10T09:51:27Z Abushyk 2 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> '''<big>Настройка абонентской платы для тарифа</big>'''<br /> Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> === Настройка биллинга === '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php '''<big>Настройка пользователей</big>'''<br /> После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> 629a5c68a9c2f963c58a970af2fe8b3cf7d922c6 306 305 2015-09-10T09:52:39Z Abushyk 2 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> '''<big>Настройка абонентской платы для тарифа</big>'''<br /> Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> = Настройка биллинга = '''<big>Настройка биллинга</big>'''<br /> Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php '''<big>Настройка пользователей</big>'''<br /> После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> f57e9e8ed7bf4da72a69bf1226010dce1390b4df 307 306 2015-09-10T09:55:03Z Abushyk 2 wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> '''<big>Настройка абонентской платы для тарифа</big>'''<br /> Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> = Настройка биллинга = Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php =Настройка пользователей= После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> 37513a39c5baf84de5306795d77b5cabded84fea 308 307 2015-09-10T09:55:43Z Abushyk 2 /* Настройка пользователей */ wikitext text/x-wiki Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> '''<big>Настройка абонентской платы для тарифа</big>'''<br /> Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> = Настройка биллинга = Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php =Настройка пользователей= После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> 7590311c4ffc07110c5f990758de310eec743f74 309 308 2015-09-10T09:56:32Z Abushyk 2 wikitext text/x-wiki =Общая информация= Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> '''<big>Настройка абонентской платы для тарифа</big>'''<br /> Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> = Настройка биллинга = Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php =Настройка пользователей= После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> 6d73fe9b198d7c9be0d5ab1ba9175738062ccda6 310 309 2015-09-10T09:57:02Z Abushyk 2 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> '''Описание параметров Услуги'''<br /><br /> * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> '''<big>Настройка абонентской платы для тарифа</big>'''<br /> Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> ==Настройка биллинга== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> 9501e6ff9f8e759ba64747486d7d0fcc2f4a14bf 311 310 2015-09-10T09:57:46Z Abushyk 2 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> ==Настройка биллинга== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так &lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li> fe7333c9cac3de032e38534b4d6f90f04b153461 312 311 2015-09-10T09:58:38Z Abushyk 2 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> ==Настройка биллинга== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre>&lt;li &gt; <a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 4b8bb3dbf486b7acd5cdd3a7e72a55f1fec851e2 313 312 2015-09-10T09:59:00Z Abushyk 2 /* Настройка пользователей */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> ==Настройка биллинга== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> 1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 1e13876326f4637ca585c371063d6558714202e8 314 313 2015-09-10T09:59:23Z Abushyk 2 /* Настройка биллинга */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = anonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> ==Настройка биллинга== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> d8166f10ce004c1d9dc0a4bac23cc9129a552130 315 314 2015-09-10T10:00:17Z Abushyk 2 /* Настройка абонентской платы для тарифа */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> ==Настройка биллинга== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 759ccbb1a7e8e07873547a3575126bd9432a035c 316 315 2015-09-10T10:01:34Z Abushyk 2 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /><br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /><br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /><br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /><br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. <br /><br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> a7257aa3807f4d553f8f05719447878a9eae241a 317 316 2015-09-10T10:02:38Z Abushyk 2 /* Общая информация */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /><br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 8f39a8ca2301b693f639756489614ef71a51c416 318 317 2015-09-10T10:02:56Z Abushyk 2 /* Общая информация */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Например, вот такие параметры этой услуги<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (это важно)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> <br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> <br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> fb86134403b8b4061ea8aef8440141f64b85dc47 319 318 2015-09-10T10:04:56Z Abushyk 2 /* Настройка абонентской платы для тарифа */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Прмерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 3e15f678dbd8262e726d8bb80e7e0614affb423a 320 319 2015-09-10T10:05:19Z Abushyk 2 /* Настройка абонентской платы для тарифа */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> <br/> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 8bcaca94dccf3e75a5cef843c1f62439b90e2b26 321 320 2015-09-10T10:06:41Z Abushyk 2 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 4bb3ee8e7f7e2635b7bbc47bb32546c3ce72b57b 322 321 2015-09-10T10:12:00Z Abushyk 2 /* Описание параметров Услуги */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы в начале месяца у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> d5bada96fd49b68a2312464b7ed8188605b419e5 323 322 2015-09-16T05:37:58Z Kondin 1 /* Настройка абонентской платы для тарифа */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> В текущей версии продукта пока нет стоимости тарифа. Поэтому администратору необходимо по факту оплаты устанавливать пользователям соответствующие тарифы. Либо блокировать этих пользователей. В будущей версии мы обязательно реализуем функцию автоматического подключения тарифов и их оплату через платежные шлюзы.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 31fad07aead71a2e4aa0d7f4f1bf00f0e29d8e3d Общие настройки 0 45 324 299 2015-10-05T08:36:05Z Abushyk 2 wikitext text/x-wiki '''Тип капчи (captcha_type)'''<br /> Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha <br /> '''link_metro_to_district (link_metro_to_district)'''<br /> Вводит признак связи значений из элемента merto_id со значениями из элемента district_id <br /> '''Уведомлять пользователя о регистрации (registration_notice)'''<br /> Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. <br /> '''Выводить помощника в админке (show_admin_helper)'''<br /> <br /> '''Категория по-умолчанию (выводится на главной) (default_topic)'''<br /> Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. <br /> '''Ключ карты яндекс (yandex_map_key)'''<br /> Устарело. Не используется нигде, кроме самых древних шаблонов. <br /> '''Заголовок сайта (site_title)'''<br /> Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. <br /> '''Количество объявлений на одну страницу (per_page)'''<br /> Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. <br /> '''Тема оформления (theme)'''<br /> Имя шаблона сайта. <br /> '''Город (для отображения на карте yandex) (city)'''<br /> Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. <br /> '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор района в форме объявления (district_in_form)'''<br /> Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор улицы в форме объявления (street_in_form)'''<br /> Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Разрешить регистрацию на сайте (allow_register_account)'''<br /> Включает возможность регистрации на сайте пользователей. <br /> '''SMTP-сервер для отправки заявок (smtp1_server)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-login (smtp1_login)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-password (smtp1_password)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-port (smtp1_port)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-от кого (smtp1_from)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Отправка почты через smtp (use_smtp)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Email на который будут приходить заявки с сайта (order_email_acceptor)'''<br /> Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. <br /> '''WYSIWYG-редактор (editor)'''<br /> Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. <br /> '''Показывать рекламу (show_demo_banners)'''<br /> Управления показом встроенных демобаннеров в шапке сайта <br /> '''Стоимость размещения одного специального предложения (special_advert_cost)'''<br /> Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Адрес службы приема платежей robokassa.ru (robokassa_server)'''<br /> '''Логин для robokassa.ru (robokassa_login)'''<br /> '''Пароль 1 для robokassa.ru (robokassa_password1)'''<br /> '''Пароль 2 для robokassa.ru (robokassa_password2)'''<br /> Набор настроек для возможности совершения оплаты через сервис Робокассы <br /> '''Лицензионный ключ (license_key)'''<br /> Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. <br /> '''Режим ajax в формах администратора (ajax_form_in_admin)'''<br /> Включает цепное обновление зависимых элементов в формах в админке <br /> '''Режим ajax в формах личного кабинета (ajax_form_in_user)'''<br /> Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора <br /> '''Сервер авторизации sitebill.ru (ajax_auth_form)'''<br /> Нечто специфичное и, видимо, устаревшее <br /> '''Количество новостей в колонке (news_count_in_column)'''<br /> Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. <br /> '''update1 (update1)'''<br /> Системная настройка. Не предполагает изменения пользователем. <br /> '''Использовать watermark на фотографиях (is_watermark)'''<br /> Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. <br /> '''Тип верхнего меню (purecss/slidemenu) (menu_type)'''<br /> Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. <br /> '''Прятать каталоги без содержимого (hide_empty_catalog)'''<br /> Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. <br /> '''Количество позиций на страницу (common_per_page)'''<br /> Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. <br /> '''Разрешить напоминание пароля (allow_remind_password)'''<br /> Включает возможность восстановления пароля к ЛК. <br /> '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)'''<br /> Указывает количество фотографий на страницу в приложении Галерея. <br /> '''Стоимость размещения одного простого объявления (advert_cost)'''<br /> Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)'''<br /> Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. <br /> '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Текст соглашения после формы (post_form_agreement_text)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Активировать выдачу соглашения после формы (post_form_agreement_enable)'''<br /> Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. <br /> '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)'''<br /> Устарело. Никакого функционала в 99% случаев не имеет. <br /> '''Включить авторегистрацию (autoreg_enable)'''<br /> Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. <br /> '''WYSIWYG-редактор1 (editor1)'''<br /> Частный случай. <br /> '''Включить привязку улиц к городу (link_street_to_city)'''<br /> Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. <br /> '''Использовать карту Google (use_google_map)'''<br /> Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. <br /> '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)'''<br /> Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. <br /> '''Пользователи могут добавлять улицы (user_add_street_enable)'''<br /> Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. <br /> '''Редактировать лицевой счет пользователя в админке (user_account_enable)'''<br /> <br /> '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)'''<br /> Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. <br /> '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)'''<br /> Тип загрузчика картинок для поля типа uploadify_image <br /> '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)'''<br /> Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. <br /> '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)'''<br /> Устаревшее <br /> '''Включить поддержку нескольких валют (currency_enable)'''<br /> Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. <br /> '''Количество объявлений на страницу в админке (per_page_admin)'''<br /> Кличество объявления на страницу. Только для административной части. <br /> '''Название закладки формы по-умолчанию (default_tab_name)'''<br /> Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. <br /> '''Разрешить картинки в разделах (allow_topic_images)'''<br /> В разработке. <br /> '''Заголовок главной (meta_title_main)'''<br /> Текст, который будет помещен в тег head>title для главной страницы. <br /> '''Ключевые слова главной (meta_keywords_main)'''<br /> Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. <br /> '''Мета-описание главной (meta_description_main)'''<br /> Текст, который будет помещен в тег head>meta[name=description] для главной страницы. <br /> '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)'''<br /> Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. <br /> '''Подпись в письмах (email_signature)'''<br /> Текс, который будет размещаться в конце писем, отправляемых сайтом. <br /> '''Делить формы на шаги (divide_step_form)'''<br /> Частный случай. <br /> '''Не допускать добавления дубликатов данных (filter_double_data)'''<br /> Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. <br /> '''Использовать combobox в элементах select (use_combobox)'''<br /> Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. <br /> '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)'''<br /> Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. <br /> '''Игнорировать свободно с (ignore_free_from_parameter)'''<br /> Частный случай. <br /> '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)'''<br /> Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. <br /> '''Количество VIP-объявлений в колонке (vip_rotator_number)'''<br /> Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. <br /> '''Цена Премиум-объявления за 1 день (premium_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. <br /> '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)'''<br /> Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. <br /> '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)'''<br /> Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. <br /> '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)'''<br /> Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. <br /> '''Цена выделения объявления за 1 день (bold_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. <br /> '''Цена одного поднятия (ups_price)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. <br /> '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)'''<br /> Включить возможность устанавливать статус Спецпредложение в ЛК. <br /> '''Использовать локальную форму добавления объявлений (use_custom_addform)'''<br /> Частный случай. <br /> '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)'''<br /> Тип вывода сетки объявлений по умолчанию. <br /> '''Админ может поднимать объявления (show_up_icon)'''<br /> Включение кнопки поднятия объявления в списке объявлений в админке. <br /> '''Блокировать формы поиска пользователя (block_user_search_forms)'''<br /> Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. <br /> '''Блокировать фронтальные сетки пользователя (block_user_front_grids)'''<br /> Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. <br /> '''Количество похожих объявлений в просмотре объявления (similar_items_count)'''<br /> Количество объявлений которые будут отображены в разделе Похожие объявления. <br /> '''Ширина картинки пользователя (user_pic_width)'''<br /> '''Высота картинки пользователя (user_pic_height)'''<br /> Регулируют размеры аватарки пользователя. <br /> '''Название валюты в личном кабинете (ue_name)'''<br /> Строковое название внутренней валюты ЛК. <br /> '''Формат даты (date_format)'''<br /> В разработке. <br /> '''От чьего email будут отправляться письма с сайта. (system_email)'''<br /> '''Сохранять копию избражений без водяного знака (save_without_watermark)'''<br /> Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. <br /> '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)'''<br /> Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. <br /> '''Использовать встроенный счетчик просмотров (use_realty_view_counter)'''<br /> Включение\отключение встроенного счетчика просмотров объявления <br /> '''Не публиковать объявления из ЛК без премодерации (moderate_first)'''<br /> Принудительно ставит на объявления добавленные или измененные через ЛК статус неактивности. <br /> '''Ширина большой картинки в комплексах (complex_image_big_width)'''<br /> '''Высота большой картинки в комплексах (complex_image_big_height)'''<br /> '''Ширина превью картинки в комплексах (complex_image_preview_width)'''<br /> '''Высота превью картинки в комплексах (complex_image_preview_height)'''<br /> Набор параметров для загружаемых картинок для Жилых комплексов. Применимо к типу поля uploadify_image. <br /> '''Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data)'''<br /> В форме объявления в ЛК позволяет убрать поля контактных данных (имя, телефон, email) связи с их избыточностью. <br /> '''Уведомлять администратора о платежах по email (notify_about_payment)'''<br /> При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. <br /> '''Закрыть сайт (is_underconstruction)'''<br /> Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. <br /> '''IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip)'''<br /> Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. <br /> '''Регистрация: сила пароля (0|1|2|3) (register_passstregth)'''<br /> Указывает силу пароля задаваемого пользователем при регистрации. Може иметь целочисельное значение от 0 до 3, где 0 - умолчательное<br /> 0 - допускается любой пароль кроме самых слабых, например состоящих из одного и того же знака (11111 или dddddd)<br /> 1 - пароль должен содержать цифры и буквы (хотя бы одну букву и хотя бы одну цифру)<br /> 2 - пароль должен содержать цифры и буквы в разном регистре<br /> 3 - кроме цифр и букв в разном регистре, пароль должен содержать хотя бы один символ не цифро-буквенного ряда<br /> <br /> '''Куда добавлять количество страниц в заголовке (add_pagenumber_title_place)'''<br /> Указывает месторазмещение надписи ''[Страница N]''. Имеет смысл при включенной настройке ''(add_pagenumber_title)''<br /> Может размещать эту надпись в заголовке страницы, в заголовке браузера или в обеих местах. <br /> '''Формат строки заголовка (apps.realty.title_preg)''' - находится во вкладке Дополнительно<br /> Тут можно прописать с помощью тегов '''{city_id}, {street_id}, {number}''' - нужный нам формат заголовка. В {} - указывается системное название колонки для вывода. А все что не входит в {} будет выводится как есть. <br /> '''Использовать капчу на входе в админку (use_captcha_admin_entry)'''<br /> Указывает использовать ли капчу на форме входа в административную часть. Требует установки настройки ''Тип капчи (captcha_type)'' в состояние отличное от "игнорировать". 7e33c4bbf2c4cbd8c0113eb1608337665c104314 325 324 2015-10-05T08:36:35Z Abushyk 2 wikitext text/x-wiki '''Тип капчи (captcha_type)'''<br /> Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha <br /> '''link_metro_to_district (link_metro_to_district)'''<br /> Вводит признак связи значений из элемента merto_id со значениями из элемента district_id <br /> '''Уведомлять пользователя о регистрации (registration_notice)'''<br /> Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. <br /> '''Выводить помощника в админке (show_admin_helper)'''<br /> <br /> '''Категория по-умолчанию (выводится на главной) (default_topic)'''<br /> Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. <br /> '''Ключ карты яндекс (yandex_map_key)'''<br /> Устарело. Не используется нигде, кроме самых древних шаблонов. <br /> '''Заголовок сайта (site_title)'''<br /> Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. <br /> '''Количество объявлений на одну страницу (per_page)'''<br /> Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. <br /> '''Тема оформления (theme)'''<br /> Имя шаблона сайта. <br /> '''Город (для отображения на карте yandex) (city)'''<br /> Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. <br /> '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор района в форме объявления (district_in_form)'''<br /> Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор улицы в форме объявления (street_in_form)'''<br /> Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Разрешить регистрацию на сайте (allow_register_account)'''<br /> Включает возможность регистрации на сайте пользователей. <br /> '''SMTP-сервер для отправки заявок (smtp1_server)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-login (smtp1_login)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-password (smtp1_password)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-port (smtp1_port)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-от кого (smtp1_from)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Отправка почты через smtp (use_smtp)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Email на который будут приходить заявки с сайта (order_email_acceptor)'''<br /> Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. <br /> '''WYSIWYG-редактор (editor)'''<br /> Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. <br /> '''Показывать рекламу (show_demo_banners)'''<br /> Управления показом встроенных демобаннеров в шапке сайта <br /> '''Стоимость размещения одного специального предложения (special_advert_cost)'''<br /> Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Адрес службы приема платежей robokassa.ru (robokassa_server)'''<br /> '''Логин для robokassa.ru (robokassa_login)'''<br /> '''Пароль 1 для robokassa.ru (robokassa_password1)'''<br /> '''Пароль 2 для robokassa.ru (robokassa_password2)'''<br /> Набор настроек для возможности совершения оплаты через сервис Робокассы <br /> '''Лицензионный ключ (license_key)'''<br /> Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. <br /> '''Режим ajax в формах администратора (ajax_form_in_admin)'''<br /> Включает цепное обновление зависимых элементов в формах в админке <br /> '''Режим ajax в формах личного кабинета (ajax_form_in_user)'''<br /> Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора <br /> '''Сервер авторизации sitebill.ru (ajax_auth_form)'''<br /> Нечто специфичное и, видимо, устаревшее <br /> '''Количество новостей в колонке (news_count_in_column)'''<br /> Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. <br /> '''update1 (update1)'''<br /> Системная настройка. Не предполагает изменения пользователем. <br /> '''Использовать watermark на фотографиях (is_watermark)'''<br /> Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. <br /> '''Тип верхнего меню (purecss/slidemenu) (menu_type)'''<br /> Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. <br /> '''Прятать каталоги без содержимого (hide_empty_catalog)'''<br /> Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. <br /> '''Количество позиций на страницу (common_per_page)'''<br /> Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. <br /> '''Разрешить напоминание пароля (allow_remind_password)'''<br /> Включает возможность восстановления пароля к ЛК. <br /> '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)'''<br /> Указывает количество фотографий на страницу в приложении Галерея. <br /> '''Стоимость размещения одного простого объявления (advert_cost)'''<br /> Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)'''<br /> Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. <br /> '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Текст соглашения после формы (post_form_agreement_text)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Активировать выдачу соглашения после формы (post_form_agreement_enable)'''<br /> Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. <br /> '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)'''<br /> Устарело. Никакого функционала в 99% случаев не имеет. <br /> '''Включить авторегистрацию (autoreg_enable)'''<br /> Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. <br /> '''WYSIWYG-редактор1 (editor1)'''<br /> Частный случай. <br /> '''Включить привязку улиц к городу (link_street_to_city)'''<br /> Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. <br /> '''Использовать карту Google (use_google_map)'''<br /> Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. <br /> '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)'''<br /> Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. <br /> '''Пользователи могут добавлять улицы (user_add_street_enable)'''<br /> Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. <br /> '''Редактировать лицевой счет пользователя в админке (user_account_enable)'''<br /> <br /> '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)'''<br /> Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. <br /> '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)'''<br /> Тип загрузчика картинок для поля типа uploadify_image <br /> '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)'''<br /> Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. <br /> '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)'''<br /> Устаревшее <br /> '''Включить поддержку нескольких валют (currency_enable)'''<br /> Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. <br /> '''Количество объявлений на страницу в админке (per_page_admin)'''<br /> Кличество объявления на страницу. Только для административной части. <br /> '''Название закладки формы по-умолчанию (default_tab_name)'''<br /> Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. <br /> '''Разрешить картинки в разделах (allow_topic_images)'''<br /> В разработке. <br /> '''Заголовок главной (meta_title_main)'''<br /> Текст, который будет помещен в тег head>title для главной страницы. <br /> '''Ключевые слова главной (meta_keywords_main)'''<br /> Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. <br /> '''Мета-описание главной (meta_description_main)'''<br /> Текст, который будет помещен в тег head>meta[name=description] для главной страницы. <br /> '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)'''<br /> Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. <br /> '''Подпись в письмах (email_signature)'''<br /> Текс, который будет размещаться в конце писем, отправляемых сайтом. <br /> '''Делить формы на шаги (divide_step_form)'''<br /> Частный случай. <br /> '''Не допускать добавления дубликатов данных (filter_double_data)'''<br /> Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. <br /> '''Использовать combobox в элементах select (use_combobox)'''<br /> Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. <br /> '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)'''<br /> Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. <br /> '''Игнорировать свободно с (ignore_free_from_parameter)'''<br /> Частный случай. <br /> '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)'''<br /> Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. <br /> '''Количество VIP-объявлений в колонке (vip_rotator_number)'''<br /> Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. <br /> '''Цена Премиум-объявления за 1 день (premium_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. <br /> '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)'''<br /> Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. <br /> '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)'''<br /> Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. <br /> '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)'''<br /> Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. <br /> '''Цена выделения объявления за 1 день (bold_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. <br /> '''Цена одного поднятия (ups_price)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. <br /> '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)'''<br /> Включить возможность устанавливать статус Спецпредложение в ЛК. <br /> '''Использовать локальную форму добавления объявлений (use_custom_addform)'''<br /> Частный случай. <br /> '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)'''<br /> Тип вывода сетки объявлений по умолчанию. <br /> '''Админ может поднимать объявления (show_up_icon)'''<br /> Включение кнопки поднятия объявления в списке объявлений в админке. <br /> '''Блокировать формы поиска пользователя (block_user_search_forms)'''<br /> Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. <br /> '''Блокировать фронтальные сетки пользователя (block_user_front_grids)'''<br /> Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. <br /> '''Количество похожих объявлений в просмотре объявления (similar_items_count)'''<br /> Количество объявлений которые будут отображены в разделе Похожие объявления. <br /> '''Ширина картинки пользователя (user_pic_width)'''<br /> '''Высота картинки пользователя (user_pic_height)'''<br /> Регулируют размеры аватарки пользователя. <br /> '''Название валюты в личном кабинете (ue_name)'''<br /> Строковое название внутренней валюты ЛК. <br /> '''Формат даты (date_format)'''<br /> В разработке. <br /> '''От чьего email будут отправляться письма с сайта. (system_email)'''<br /> '''Сохранять копию избражений без водяного знака (save_without_watermark)'''<br /> Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. <br /> '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)'''<br /> Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. <br /> '''Использовать встроенный счетчик просмотров (use_realty_view_counter)'''<br /> Включение\отключение встроенного счетчика просмотров объявления <br /> '''Не публиковать объявления из ЛК без премодерации (moderate_first)'''<br /> Принудительно ставит на объявления добавленные или измененные через ЛК статус неактивности. <br /> '''Ширина большой картинки в комплексах (complex_image_big_width)'''<br /> '''Высота большой картинки в комплексах (complex_image_big_height)'''<br /> '''Ширина превью картинки в комплексах (complex_image_preview_width)'''<br /> '''Высота превью картинки в комплексах (complex_image_preview_height)'''<br /> Набор параметров для загружаемых картинок для Жилых комплексов. Применимо к типу поля uploadify_image. <br /> '''Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data)'''<br /> В форме объявления в ЛК позволяет убрать поля контактных данных (имя, телефон, email) связи с их избыточностью. <br /> '''Уведомлять администратора о платежах по email (notify_about_payment)'''<br /> При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. <br /> '''Закрыть сайт (is_underconstruction)'''<br /> Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. <br /> '''IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip)'''<br /> Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. <br /> '''Регистрация: сила пароля (0|1|2|3) (register_passstregth)'''<br /> Указывает силу пароля задаваемого пользователем при регистрации. Може иметь целочисельное значение от 0 до 3, где 0 - умолчательное<br /> 0 - допускается любой пароль кроме самых слабых, например состоящих из одного и того же знака (11111 или dddddd)<br /> 1 - пароль должен содержать цифры и буквы (хотя бы одну букву и хотя бы одну цифру)<br /> 2 - пароль должен содержать цифры и буквы в разном регистре<br /> 3 - кроме цифр и букв в разном регистре, пароль должен содержать хотя бы один символ не цифро-буквенного ряда<br /> <br /> '''Куда добавлять количество страниц в заголовке (add_pagenumber_title_place)'''<br /> Указывает месторазмещение надписи ''[Страница N]''. Имеет смысл при включенной настройке ''(add_pagenumber_title)''<br /> Может размещать эту надпись в заголовке страницы, в заголовке браузера или в обеих местах. <br /> '''Формат строки заголовка (apps.realty.title_preg)''' - находится во вкладке Дополнительно<br /> Тут можно прописать с помощью тегов '''{city_id}, {street_id}, {number}''' - нужный нам формат заголовка. В {} - указывается системное название колонки для вывода. А все что не входит в {} будет выводится как есть. <br /> '''Использовать капчу на входе в админку (use_captcha_admin_entry)'''<br /> Указывает использовать ли капчу на форме входа в административную часть. Требует установки настройки ''Тип капчи (captcha_type)'' в состояние отличное от "игнорировать". e8a4419a73330c2c94dabb7a962cd354449a9b15 333 325 2015-11-13T06:24:12Z Kondin 1 wikitext text/x-wiki '''Тип капчи (captcha_type)'''<br /> Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha <br /> '''link_metro_to_district (link_metro_to_district)'''<br /> Вводит признак связи значений из элемента merto_id со значениями из элемента district_id <br /> '''Уведомлять пользователя о регистрации (registration_notice)'''<br /> Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. <br /> '''Выводить помощника в админке (show_admin_helper)'''<br /> <br /> '''Категория по-умолчанию (выводится на главной) (default_topic)'''<br /> Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. <br /> '''Ключ карты яндекс (yandex_map_key)'''<br /> Устарело. Не используется нигде, кроме самых древних шаблонов. <br /> '''Заголовок сайта (site_title)'''<br /> Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. <br /> '''Количество объявлений на одну страницу (per_page)'''<br /> Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. <br /> '''Тема оформления (theme)'''<br /> Имя шаблона сайта. <br /> '''Город (для отображения на карте yandex) (city)'''<br /> Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. <br /> '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор района в форме объявления (district_in_form)'''<br /> Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор улицы в форме объявления (street_in_form)'''<br /> Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Разрешить регистрацию на сайте (allow_register_account)'''<br /> Включает возможность регистрации на сайте пользователей. <br /> '''SMTP-сервер для отправки заявок (smtp1_server)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-login (smtp1_login)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-password (smtp1_password)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-port (smtp1_port)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-от кого (smtp1_from)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Отправка почты через smtp (use_smtp)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Email на который будут приходить заявки с сайта (order_email_acceptor)'''<br /> Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. <br /> '''WYSIWYG-редактор (editor)'''<br /> Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. <br /> '''Показывать рекламу (show_demo_banners)'''<br /> Управления показом встроенных демобаннеров в шапке сайта <br /> '''Стоимость размещения одного специального предложения (special_advert_cost)'''<br /> Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Адрес службы приема платежей robokassa.ru (robokassa_server)'''<br /> '''Логин для robokassa.ru (robokassa_login)'''<br /> '''Пароль 1 для robokassa.ru (robokassa_password1)'''<br /> '''Пароль 2 для robokassa.ru (robokassa_password2)'''<br /> Набор настроек для возможности совершения оплаты через сервис Робокассы <br /> '''Лицензионный ключ (license_key)'''<br /> Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. <br /> '''Режим ajax в формах администратора (ajax_form_in_admin)'''<br /> Включает цепное обновление зависимых элементов в формах в админке <br /> '''Режим ajax в формах личного кабинета (ajax_form_in_user)'''<br /> Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора <br /> '''Сервер авторизации sitebill.ru (ajax_auth_form)'''<br /> Нечто специфичное и, видимо, устаревшее <br /> '''Количество новостей в колонке (news_count_in_column)'''<br /> Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. <br /> '''update1 (update1)'''<br /> Системная настройка. Не предполагает изменения пользователем. <br /> '''Использовать watermark на фотографиях (is_watermark)'''<br /> Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. <br /> '''Тип верхнего меню (purecss/slidemenu) (menu_type)'''<br /> Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. <br /> '''Прятать каталоги без содержимого (hide_empty_catalog)'''<br /> Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. <br /> '''Количество позиций на страницу (common_per_page)'''<br /> Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. <br /> '''Разрешить напоминание пароля (allow_remind_password)'''<br /> Включает возможность восстановления пароля к ЛК. <br /> '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)'''<br /> Указывает количество фотографий на страницу в приложении Галерея. <br /> '''Стоимость размещения одного простого объявления (advert_cost)'''<br /> Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)'''<br /> Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. <br /> '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Текст соглашения после формы (post_form_agreement_text)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Активировать выдачу соглашения после формы (post_form_agreement_enable)'''<br /> Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. <br /> '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)'''<br /> Устарело. Никакого функционала в 99% случаев не имеет. <br /> '''Включить авторегистрацию (autoreg_enable)'''<br /> Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. <br /> '''WYSIWYG-редактор1 (editor1)'''<br /> Частный случай. <br /> '''Включить привязку улиц к городу (link_street_to_city)'''<br /> Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. <br /> '''Использовать карту Google (use_google_map)'''<br /> Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. <br /> '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)'''<br /> Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. <br /> '''Пользователи могут добавлять улицы (user_add_street_enable)'''<br /> Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. <br /> '''Редактировать лицевой счет пользователя в админке (user_account_enable)'''<br /> <br /> '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)'''<br /> Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. <br /> '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)'''<br /> Тип загрузчика картинок для поля типа uploadify_image <br /> '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)'''<br /> Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. <br /> '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)'''<br /> Устаревшее <br /> '''Включить поддержку нескольких валют (currency_enable)'''<br /> Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. <br /> '''Количество объявлений на страницу в админке (per_page_admin)'''<br /> Кличество объявления на страницу. Только для административной части. <br /> '''Название закладки формы по-умолчанию (default_tab_name)'''<br /> Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. <br /> '''Разрешить картинки в разделах (allow_topic_images)'''<br /> В разработке. <br /> '''Заголовок главной (meta_title_main)'''<br /> Текст, который будет помещен в тег head>title для главной страницы. <br /> '''Ключевые слова главной (meta_keywords_main)'''<br /> Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. <br /> '''Мета-описание главной (meta_description_main)'''<br /> Текст, который будет помещен в тег head>meta[name=description] для главной страницы. <br /> '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)'''<br /> Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. <br /> '''Подпись в письмах (email_signature)'''<br /> Текс, который будет размещаться в конце писем, отправляемых сайтом. <br /> '''Делить формы на шаги (divide_step_form)'''<br /> Частный случай. <br /> '''Не допускать добавления дубликатов данных (filter_double_data)'''<br /> Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. <br /> '''Использовать combobox в элементах select (use_combobox)'''<br /> Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. <br /> '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)'''<br /> Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. <br /> '''Игнорировать свободно с (ignore_free_from_parameter)'''<br /> Частный случай. <br /> '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)'''<br /> Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. <br /> '''Количество VIP-объявлений в колонке (vip_rotator_number)'''<br /> Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. <br /> '''Цена Премиум-объявления за 1 день (premium_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. <br /> '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)'''<br /> Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. <br /> '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)'''<br /> Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. <br /> '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)'''<br /> Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. <br /> '''Цена выделения объявления за 1 день (bold_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. <br /> '''Цена одного поднятия (ups_price)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. <br /> '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)'''<br /> Включить возможность устанавливать статус Спецпредложение в ЛК. <br /> '''Использовать локальную форму добавления объявлений (use_custom_addform)'''<br /> Частный случай. <br /> '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)'''<br /> Тип вывода сетки объявлений по умолчанию. <br /> '''Админ может поднимать объявления (show_up_icon)'''<br /> Включение кнопки поднятия объявления в списке объявлений в админке. <br /> '''Блокировать формы поиска пользователя (block_user_search_forms)'''<br /> Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. <br /> '''Блокировать фронтальные сетки пользователя (block_user_front_grids)'''<br /> Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. <br /> '''Количество похожих объявлений в просмотре объявления (similar_items_count)'''<br /> Количество объявлений которые будут отображены в разделе Похожие объявления. <br /> '''Ширина картинки пользователя (user_pic_width)'''<br /> '''Высота картинки пользователя (user_pic_height)'''<br /> Регулируют размеры аватарки пользователя. <br /> '''Название валюты в личном кабинете (ue_name)'''<br /> Строковое название внутренней валюты ЛК. <br /> '''Формат даты (date_format)'''<br /> В разработке. <br /> '''От чьего email будут отправляться письма с сайта. (system_email)'''<br /> '''Сохранять копию избражений без водяного знака (save_without_watermark)'''<br /> Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. <br /> '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)'''<br /> Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. <br /> '''Использовать встроенный счетчик просмотров (use_realty_view_counter)'''<br /> Включение\отключение встроенного счетчика просмотров объявления <br /> '''Не публиковать объявления из ЛК без премодерации (moderate_first)'''<br /> Принудительно ставит на объявления добавленные или измененные через ЛК статус неактивности. <br /> '''Ширина большой картинки в комплексах (complex_image_big_width)'''<br /> '''Высота большой картинки в комплексах (complex_image_big_height)'''<br /> '''Ширина превью картинки в комплексах (complex_image_preview_width)'''<br /> '''Высота превью картинки в комплексах (complex_image_preview_height)'''<br /> Набор параметров для загружаемых картинок для Жилых комплексов. Применимо к типу поля uploadify_image. <br /> '''Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data)'''<br /> В форме объявления в ЛК позволяет убрать поля контактных данных (имя, телефон, email) связи с их избыточностью. <br /> '''Уведомлять администратора о платежах по email (notify_about_payment)'''<br /> При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. <br /> '''Закрыть сайт (is_underconstruction)'''<br /> Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. <br /> '''IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip)'''<br /> Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. <br /> '''Регистрация: сила пароля (0|1|2|3) (register_passstregth)'''<br /> Указывает силу пароля задаваемого пользователем при регистрации. Може иметь целочисельное значение от 0 до 3, где 0 - умолчательное<br /> 0 - допускается любой пароль кроме самых слабых, например состоящих из одного и того же знака (11111 или dddddd)<br /> 1 - пароль должен содержать цифры и буквы (хотя бы одну букву и хотя бы одну цифру)<br /> 2 - пароль должен содержать цифры и буквы в разном регистре<br /> 3 - кроме цифр и букв в разном регистре, пароль должен содержать хотя бы один символ не цифро-буквенного ряда<br /> <br /> '''Куда добавлять количество страниц в заголовке (add_pagenumber_title_place)'''<br /> Указывает месторазмещение надписи ''[Страница N]''. Имеет смысл при включенной настройке ''(add_pagenumber_title)''<br /> Может размещать эту надпись в заголовке страницы, в заголовке браузера или в обеих местах. <br /> '''Формат строки заголовка (apps.realty.title_preg)''' - находится во вкладке Дополнительно<br /> Тут можно прописать с помощью тегов '''{city_id}, {street_id}, {number}''' - нужный нам формат заголовка. В {} - указывается системное название колонки для вывода. А все что не входит в {} будет выводится как есть. <br /> '''Использовать капчу на входе в админку (use_captcha_admin_entry)'''<br /> Указывает использовать ли капчу на форме входа в административную часть. Требует установки настройки ''Тип капчи (captcha_type)'' в состояние отличное от "игнорировать". '''Включить переадресацию категорий (use_topic_linker)'''<br /> 2c1686cb238bebaec6c213ea148218791f13057a 334 333 2015-11-13T06:25:59Z Kondin 1 wikitext text/x-wiki '''Тип капчи (captcha_type)'''<br /> Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha <br /> '''link_metro_to_district (link_metro_to_district)'''<br /> Вводит признак связи значений из элемента merto_id со значениями из элемента district_id <br /> '''Уведомлять пользователя о регистрации (registration_notice)'''<br /> Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. <br /> '''Выводить помощника в админке (show_admin_helper)'''<br /> <br /> '''Категория по-умолчанию (выводится на главной) (default_topic)'''<br /> Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. <br /> '''Ключ карты яндекс (yandex_map_key)'''<br /> Устарело. Не используется нигде, кроме самых древних шаблонов. <br /> '''Заголовок сайта (site_title)'''<br /> Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. <br /> '''Количество объявлений на одну страницу (per_page)'''<br /> Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. <br /> '''Тема оформления (theme)'''<br /> Имя шаблона сайта. <br /> '''Город (для отображения на карте yandex) (city)'''<br /> Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. <br /> '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор района в форме объявления (district_in_form)'''<br /> Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор улицы в форме объявления (street_in_form)'''<br /> Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Разрешить регистрацию на сайте (allow_register_account)'''<br /> Включает возможность регистрации на сайте пользователей. <br /> '''SMTP-сервер для отправки заявок (smtp1_server)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-login (smtp1_login)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-password (smtp1_password)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-port (smtp1_port)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-от кого (smtp1_from)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Отправка почты через smtp (use_smtp)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Email на который будут приходить заявки с сайта (order_email_acceptor)'''<br /> Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. <br /> '''WYSIWYG-редактор (editor)'''<br /> Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. <br /> '''Показывать рекламу (show_demo_banners)'''<br /> Управления показом встроенных демобаннеров в шапке сайта <br /> '''Стоимость размещения одного специального предложения (special_advert_cost)'''<br /> Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Адрес службы приема платежей robokassa.ru (robokassa_server)'''<br /> '''Логин для robokassa.ru (robokassa_login)'''<br /> '''Пароль 1 для robokassa.ru (robokassa_password1)'''<br /> '''Пароль 2 для robokassa.ru (robokassa_password2)'''<br /> Набор настроек для возможности совершения оплаты через сервис Робокассы <br /> '''Лицензионный ключ (license_key)'''<br /> Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. <br /> '''Режим ajax в формах администратора (ajax_form_in_admin)'''<br /> Включает цепное обновление зависимых элементов в формах в админке <br /> '''Режим ajax в формах личного кабинета (ajax_form_in_user)'''<br /> Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора <br /> '''Сервер авторизации sitebill.ru (ajax_auth_form)'''<br /> Нечто специфичное и, видимо, устаревшее <br /> '''Количество новостей в колонке (news_count_in_column)'''<br /> Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. <br /> '''update1 (update1)'''<br /> Системная настройка. Не предполагает изменения пользователем. <br /> '''Использовать watermark на фотографиях (is_watermark)'''<br /> Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. <br /> '''Тип верхнего меню (purecss/slidemenu) (menu_type)'''<br /> Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. <br /> '''Прятать каталоги без содержимого (hide_empty_catalog)'''<br /> Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. <br /> '''Количество позиций на страницу (common_per_page)'''<br /> Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. <br /> '''Разрешить напоминание пароля (allow_remind_password)'''<br /> Включает возможность восстановления пароля к ЛК. <br /> '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)'''<br /> Указывает количество фотографий на страницу в приложении Галерея. <br /> '''Стоимость размещения одного простого объявления (advert_cost)'''<br /> Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)'''<br /> Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. <br /> '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Текст соглашения после формы (post_form_agreement_text)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Активировать выдачу соглашения после формы (post_form_agreement_enable)'''<br /> Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. <br /> '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)'''<br /> Устарело. Никакого функционала в 99% случаев не имеет. <br /> '''Включить авторегистрацию (autoreg_enable)'''<br /> Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. <br /> '''WYSIWYG-редактор1 (editor1)'''<br /> Частный случай. <br /> '''Включить привязку улиц к городу (link_street_to_city)'''<br /> Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. <br /> '''Использовать карту Google (use_google_map)'''<br /> Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. <br /> '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)'''<br /> Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. <br /> '''Пользователи могут добавлять улицы (user_add_street_enable)'''<br /> Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. <br /> '''Редактировать лицевой счет пользователя в админке (user_account_enable)'''<br /> <br /> '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)'''<br /> Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. <br /> '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)'''<br /> Тип загрузчика картинок для поля типа uploadify_image <br /> '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)'''<br /> Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. <br /> '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)'''<br /> Устаревшее <br /> '''Включить поддержку нескольких валют (currency_enable)'''<br /> Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. <br /> '''Количество объявлений на страницу в админке (per_page_admin)'''<br /> Кличество объявления на страницу. Только для административной части. <br /> '''Название закладки формы по-умолчанию (default_tab_name)'''<br /> Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. <br /> '''Разрешить картинки в разделах (allow_topic_images)'''<br /> В разработке. <br /> '''Заголовок главной (meta_title_main)'''<br /> Текст, который будет помещен в тег head>title для главной страницы. <br /> '''Ключевые слова главной (meta_keywords_main)'''<br /> Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. <br /> '''Мета-описание главной (meta_description_main)'''<br /> Текст, который будет помещен в тег head>meta[name=description] для главной страницы. <br /> '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)'''<br /> Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. <br /> '''Подпись в письмах (email_signature)'''<br /> Текс, который будет размещаться в конце писем, отправляемых сайтом. <br /> '''Делить формы на шаги (divide_step_form)'''<br /> Частный случай. <br /> '''Не допускать добавления дубликатов данных (filter_double_data)'''<br /> Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. <br /> '''Использовать combobox в элементах select (use_combobox)'''<br /> Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. <br /> '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)'''<br /> Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. <br /> '''Игнорировать свободно с (ignore_free_from_parameter)'''<br /> Частный случай. <br /> '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)'''<br /> Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. <br /> '''Количество VIP-объявлений в колонке (vip_rotator_number)'''<br /> Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. <br /> '''Цена Премиум-объявления за 1 день (premium_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. <br /> '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)'''<br /> Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. <br /> '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)'''<br /> Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. <br /> '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)'''<br /> Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. <br /> '''Цена выделения объявления за 1 день (bold_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. <br /> '''Цена одного поднятия (ups_price)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. <br /> '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)'''<br /> Включить возможность устанавливать статус Спецпредложение в ЛК. <br /> '''Использовать локальную форму добавления объявлений (use_custom_addform)'''<br /> Частный случай. <br /> '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)'''<br /> Тип вывода сетки объявлений по умолчанию. <br /> '''Админ может поднимать объявления (show_up_icon)'''<br /> Включение кнопки поднятия объявления в списке объявлений в админке. <br /> '''Блокировать формы поиска пользователя (block_user_search_forms)'''<br /> Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. <br /> '''Блокировать фронтальные сетки пользователя (block_user_front_grids)'''<br /> Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. <br /> '''Количество похожих объявлений в просмотре объявления (similar_items_count)'''<br /> Количество объявлений которые будут отображены в разделе Похожие объявления. <br /> '''Ширина картинки пользователя (user_pic_width)'''<br /> '''Высота картинки пользователя (user_pic_height)'''<br /> Регулируют размеры аватарки пользователя. <br /> '''Название валюты в личном кабинете (ue_name)'''<br /> Строковое название внутренней валюты ЛК. <br /> '''Формат даты (date_format)'''<br /> В разработке. <br /> '''От чьего email будут отправляться письма с сайта. (system_email)'''<br /> '''Сохранять копию избражений без водяного знака (save_without_watermark)'''<br /> Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. <br /> '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)'''<br /> Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. <br /> '''Использовать встроенный счетчик просмотров (use_realty_view_counter)'''<br /> Включение\отключение встроенного счетчика просмотров объявления <br /> '''Не публиковать объявления из ЛК без премодерации (moderate_first)'''<br /> Принудительно ставит на объявления добавленные или измененные через ЛК статус неактивности. <br /> '''Ширина большой картинки в комплексах (complex_image_big_width)'''<br /> '''Высота большой картинки в комплексах (complex_image_big_height)'''<br /> '''Ширина превью картинки в комплексах (complex_image_preview_width)'''<br /> '''Высота превью картинки в комплексах (complex_image_preview_height)'''<br /> Набор параметров для загружаемых картинок для Жилых комплексов. Применимо к типу поля uploadify_image. <br /> '''Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data)'''<br /> В форме объявления в ЛК позволяет убрать поля контактных данных (имя, телефон, email) связи с их избыточностью. <br /> '''Уведомлять администратора о платежах по email (notify_about_payment)'''<br /> При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. <br /> '''Закрыть сайт (is_underconstruction)'''<br /> Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. <br /> '''IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip)'''<br /> Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. <br /> '''Регистрация: сила пароля (0|1|2|3) (register_passstregth)'''<br /> Указывает силу пароля задаваемого пользователем при регистрации. Може иметь целочисельное значение от 0 до 3, где 0 - умолчательное<br /> 0 - допускается любой пароль кроме самых слабых, например состоящих из одного и того же знака (11111 или dddddd)<br /> 1 - пароль должен содержать цифры и буквы (хотя бы одну букву и хотя бы одну цифру)<br /> 2 - пароль должен содержать цифры и буквы в разном регистре<br /> 3 - кроме цифр и букв в разном регистре, пароль должен содержать хотя бы один символ не цифро-буквенного ряда<br /> <br /> '''Куда добавлять количество страниц в заголовке (add_pagenumber_title_place)'''<br /> Указывает месторазмещение надписи ''[Страница N]''. Имеет смысл при включенной настройке ''(add_pagenumber_title)''<br /> Может размещать эту надпись в заголовке страницы, в заголовке браузера или в обеих местах. <br /> '''Формат строки заголовка (apps.realty.title_preg)''' - находится во вкладке Дополнительно<br /> Тут можно прописать с помощью тегов '''{city_id}, {street_id}, {number}''' - нужный нам формат заголовка. В {} - указывается системное название колонки для вывода. А все что не входит в {} будет выводится как есть. <br /> '''Использовать капчу на входе в админку (use_captcha_admin_entry)'''<br /> Указывает использовать ли капчу на форме входа в административную часть. Требует установки настройки ''Тип капчи (captcha_type)'' в состояние отличное от "игнорировать". '''[[use_topic_linker|Включить переадресацию категорий (use_topic_linker)]]'''<br /> df6d6ddc96e34ae6ac16d5e7551d907c322f6e3d Заглавная страница 0 1 326 242 2015-10-09T06:17:55Z Kondin 1 добавил пукнт Регистрация с SMS подтверждением wikitext text/x-wiki '''Техническая документация CMS Sitebill.''' [[Введение]]<br /> [[Типы элементов форм]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Меню]]<br /> [[Шаблон]]<br /> [[Общие настройки]]<br /> [[Связанные элементы]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[mail|Настройка отправки писем с сайта]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Перевод|Перевод контента на другие языки]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. b21871aad055740a4b71dd39fa519a0e02187184 349 326 2015-11-15T18:23:47Z Abushyk 2 wikitext text/x-wiki ==Техническая документация CMS Sitebill== [[Введение]]<br /> [[Типы элементов форм]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Меню]]<br /> [[Шаблон]]<br /> [[Общие настройки]]<br /> [[Связанные элементы]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[mail|Настройка отправки писем с сайта]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Перевод|Перевод контента на другие языки]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. d9028c9e993e688661c329d23754c976ae96f7fd Регистрация с SMS подтверждением 0 56 327 2015-10-09T06:19:25Z Kondin 1 Новая страница: «Регистрация с SMS подтверждением предназначена для того, чтобы при регистрации пользоват…» wikitext text/x-wiki Регистрация с SMS подтверждением предназначена для того, чтобы при регистрации пользователи указывали свой номер мобильного телефона в качестве логина. После этого пользователю на этот номер телефона отправляется код подтверждения, его нужно указать в форме регистрации. И после этого учетная запись активируется. 167cbcc06db31209d0887074c47d9dc89830928c Excel 0 23 328 290 2015-11-09T06:07:50Z Kondin 1 wikitext text/x-wiki Загрузка картинок в платной версии Excel выполняется следующим образом. Для начала вам нужно обновить приложение Excel до версии '''1.8.2''' и выше через [[Центр обновлений|центр обновлений]].<br /> == '''Загрузка фотографий с помощью FTP''' == Затем загрузить картинки через FTP в каталог ''/cache/upl/xls_uploads/''. Названия для фотографий лучше давать латинскими буквами или цифрами. Например, '''1.jpg; 123.jpg; vid.jpg'''.<br /> Теперь нужно в загружаемом файле Excel добавить колонку с названием Фотографии (либо иначе). Причем обязательно назвать в точности так, как называется поле c системным именем '''image''' в Вашем наборе полей для таблицы data, потому что по ней будет выполнен автоматический поиск.<br /> В колонке фотографии нужно добавить список названий файлов фотографий, принадлежащий данному объявлению. Если фотографий несколько, то нужно разделить названия с помощью символа ''';''' <br /> Пример '''1.jpg;2.jpg;3.jpg''';<br /> Убедитесь перед загрузкой файла Excel в том, что соответствующие файлы фотографий загружены в каталог ''/cache/upl/xls_uploads/''. И после можете нажимать загрузку файла в базу данных. После обработки фотографии автоматически удаляются из каталога ''/cache/upl/xls_uploads/''. Также автоматически создаются превью и большие фото. Но следует учесть, что размер фото не должен превышать допустимого размера, который может обработать хостинг. == '''Загрузка фотографий с удаленного сервера''' == Вы можете указывать адреса картинок с других сайтов и система при загрузке Excel файла автоматически будет загружать эти фото по URL. В этом случае не нужно загружать фото по ФТП. <br/> Для этого нужно вписывать названия фото в таком формате: Пример '''http://www.site.ru/1.jpg;http://www.site.ru/2.jpg;http://www.site.ru/3.jpg''';<br /> b4d441ed58710fdc874dae3652ac021ae5316344 343 328 2015-11-15T18:19:50Z Abushyk 2 wikitext text/x-wiki Загрузка картинок в платной версии Excel выполняется следующим образом. Для начала вам нужно обновить приложение Excel до версии '''1.8.2''' и выше через [[Центр обновлений|центр обновлений]].<br /> == Загрузка фотографий с помощью FTP == Затем загрузить картинки через FTP в каталог ''/cache/upl/xls_uploads/''. Названия для фотографий лучше давать латинскими буквами или цифрами. Например, '''1.jpg; 123.jpg; vid.jpg'''.<br /> Теперь нужно в загружаемом файле Excel добавить колонку с названием Фотографии (либо иначе). Причем обязательно назвать в точности так, как называется поле c системным именем '''image''' в Вашем наборе полей для таблицы data, потому что по ней будет выполнен автоматический поиск.<br /> В колонке фотографии нужно добавить список названий файлов фотографий, принадлежащий данному объявлению. Если фотографий несколько, то нужно разделить названия с помощью символа ''';''' <br /> Пример '''1.jpg;2.jpg;3.jpg''';<br /> Убедитесь перед загрузкой файла Excel в том, что соответствующие файлы фотографий загружены в каталог ''/cache/upl/xls_uploads/''. И после можете нажимать загрузку файла в базу данных. После обработки фотографии автоматически удаляются из каталога ''/cache/upl/xls_uploads/''. Также автоматически создаются превью и большие фото. Но следует учесть, что размер фото не должен превышать допустимого размера, который может обработать хостинг. == '''Загрузка фотографий с удаленного сервера''' == Вы можете указывать адреса картинок с других сайтов и система при загрузке Excel файла автоматически будет загружать эти фото по URL. В этом случае не нужно загружать фото по ФТП. <br/> Для этого нужно вписывать названия фото в таком формате: Пример '''http://www.site.ru/1.jpg;http://www.site.ru/2.jpg;http://www.site.ru/3.jpg''';<br /> bd57712123630c894873bfdd27092b0c3a299fac 344 343 2015-11-15T18:20:13Z Abushyk 2 wikitext text/x-wiki Загрузка картинок в платной версии Excel выполняется следующим образом. Для начала вам нужно обновить приложение Excel до версии '''1.8.2''' и выше через [[Центр обновлений|центр обновлений]].<br /> == Загрузка фотографий с помощью FTP == Затем загрузить картинки через FTP в каталог ''/cache/upl/xls_uploads/''. Названия для фотографий лучше давать латинскими буквами или цифрами. Например, '''1.jpg; 123.jpg; vid.jpg'''.<br /> Теперь нужно в загружаемом файле Excel добавить колонку с названием Фотографии (либо иначе). Причем обязательно назвать в точности так, как называется поле c системным именем '''image''' в Вашем наборе полей для таблицы data, потому что по ней будет выполнен автоматический поиск.<br /> В колонке фотографии нужно добавить список названий файлов фотографий, принадлежащий данному объявлению. Если фотографий несколько, то нужно разделить названия с помощью символа ''';''' <br /> Пример '''1.jpg;2.jpg;3.jpg''';<br /> Убедитесь перед загрузкой файла Excel в том, что соответствующие файлы фотографий загружены в каталог ''/cache/upl/xls_uploads/''. И после можете нажимать загрузку файла в базу данных. После обработки фотографии автоматически удаляются из каталога ''/cache/upl/xls_uploads/''. Также автоматически создаются превью и большие фото. Но следует учесть, что размер фото не должен превышать допустимого размера, который может обработать хостинг. == Загрузка фотографий с удаленного сервера == Вы можете указывать адреса картинок с других сайтов и система при загрузке Excel файла автоматически будет загружать эти фото по URL. В этом случае не нужно загружать фото по FTP. <br/> Для этого нужно вписывать названия фото в таком формате: Пример '''http://www.site.ru/1.jpg;http://www.site.ru/2.jpg;http://www.site.ru/3.jpg''';<br /> e31d42f45d623fbcc777a6acb606854fbcfcfb74 Приложения 0 6 329 293 2015-11-10T04:42:36Z Kondin 1 wikitext text/x-wiki == Приложения == Здесь будет инфа о приложениях<br /> [[Приложение "Interkassa"]]<br /> [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение "Парсер формата MLS"]]<br /> [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.api|Приложение "API"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) f3e2c1f7e27d67baaba22dbf19df370e164745a1 337 329 2015-11-15T18:13:17Z Abushyk 2 wikitext text/x-wiki = Приложения = Здесь будет инфа о приложениях<br /> == Оплата == [[Приложение "Interkassa"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> == Обмен данными == [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 48cd357466c783c7270329e83251db1acf7035b7 339 337 2015-11-15T18:14:57Z Abushyk 2 wikitext text/x-wiki = Приложения = Здесь будет инфа о приложениях<br /> == Оплата == [[Приложение "Interkassa"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 727fbba5507003b35599545ece5b31de838dd466 345 339 2015-11-15T18:20:39Z Abushyk 2 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) e00eeb8ea38c3a73f8182fd49b36df71e91e8024 Приложение Antiagent 0 57 330 2015-11-10T04:43:03Z Kondin 1 Новая страница: «== Установка == == Настройка ==» wikitext text/x-wiki == Установка == == Настройка == 5f989b9ba78c0de270868e69e360fa30c90ab744 331 330 2015-11-10T05:32:13Z Kondin 1 wikitext text/x-wiki == Установка == # Загрузите файлы из архива в /apps/, так чтобы файл XML располагался тут /apps/blacklist/blacklist.xml и остальные файлы также как и в архиве. # Зайдите в админку в приложения - Атиагент # Зайдите в Приложения - Редактор форм и нажмите создать таблицу в пункте blacklist (там будет полупрозрачная иконка) # Зайдите в настройки и поставьте 1 в поле Включить приложение Антиагент # В поле Список системных имен для контроля можно вписать поля через запятую, в которых будет выполняться поиск. По-умолчанию это поле phone. == Использование == Теперь можно зайти в Приложения - Антиагент и добавить запись номера телефона, который в дальнейшем будет фильтроваться. Можно загрузить сразу много записей телефонов, вот видео-инструкция http://www.youtube.com/watch?v=VHPTYuvwce0<br/> 8f46cb1436892cd6938afb919c8d01f501234f58 332 331 2015-11-10T05:43:20Z Kondin 1 wikitext text/x-wiki == Установка == # Загрузите файлы из архива в /apps/, так чтобы файл XML располагался тут /apps/blacklist/blacklist.xml и остальные файлы также как и в архиве. # Зайдите в админку в приложения - Атиагент # Зайдите в Приложения - Редактор форм и нажмите создать таблицу в пункте blacklist (там будет полупрозрачная иконка) # Зайдите в настройки и поставьте 1 в поле Включить приложение Антиагент # В поле Список системных имен для контроля можно вписать поля через запятую, в которых будет выполняться поиск. По-умолчанию это поле phone. == Использование == Теперь можно зайти в Приложения - Антиагент и добавить запись номера телефона, который в дальнейшем будет фильтроваться. Можно загрузить сразу много записей телефонов, вот видео-инструкция http://www.youtube.com/watch?v=VHPTYuvwce0<br/> <br/> Список по агентским (постраничный) - выводит совпадающие объявления по номерам. После вывода можно удалять.<br> Список по агентским (порционный - до 30-ти первых найденных) - выводит первые 30 найденных. Более быстрый поиск, но если в базе очень много агентских телефонов, тогда потребуется много оперативной памяти. c540b36f6f6fd8a4f005cce9d11b52065e489945 347 332 2015-11-15T18:22:39Z Abushyk 2 Abushyk переименовал страницу [[Antiagent]] в [[Приложение Antiagent]] wikitext text/x-wiki == Установка == # Загрузите файлы из архива в /apps/, так чтобы файл XML располагался тут /apps/blacklist/blacklist.xml и остальные файлы также как и в архиве. # Зайдите в админку в приложения - Атиагент # Зайдите в Приложения - Редактор форм и нажмите создать таблицу в пункте blacklist (там будет полупрозрачная иконка) # Зайдите в настройки и поставьте 1 в поле Включить приложение Антиагент # В поле Список системных имен для контроля можно вписать поля через запятую, в которых будет выполняться поиск. По-умолчанию это поле phone. == Использование == Теперь можно зайти в Приложения - Антиагент и добавить запись номера телефона, который в дальнейшем будет фильтроваться. Можно загрузить сразу много записей телефонов, вот видео-инструкция http://www.youtube.com/watch?v=VHPTYuvwce0<br/> <br/> Список по агентским (постраничный) - выводит совпадающие объявления по номерам. После вывода можно удалять.<br> Список по агентским (порционный - до 30-ти первых найденных) - выводит первые 30 найденных. Более быстрый поиск, но если в базе очень много агентских телефонов, тогда потребуется много оперативной памяти. c540b36f6f6fd8a4f005cce9d11b52065e489945 Use topic linker 0 58 335 2015-11-13T06:27:41Z Kondin 1 Новая страница: «== Включить переадресацию категорий (use_topic_linker) == Опция предназначена для переадресации …» wikitext text/x-wiki == Включить переадресацию категорий (use_topic_linker) == Опция предназначена для переадресации категорий из одной в другую. Например, у вас на сайте есть слишком большое дерево категорий и вы хотите его упорядочить. Тогда вы можете ненужные категории прилинковать к новым категориями. И скрипт обновить у объявлений категории на эти новые. ece150377d64ebf8780fb97a674724d5b9ca9fb9 336 335 2015-11-13T08:58:29Z Kondin 1 wikitext text/x-wiki == Включить переадресацию категорий (use_topic_linker) == Опция предназначена для переадресации категорий из одной в другую. Например, у вас на сайте есть слишком большое дерево категорий и вы хотите его упорядочить. Тогда вы можете ненужные категории прилинковать к новым категориями. И скрипт обновить у объявлений категории на эти новые.<br/> Для сохранения линков нужно создать таблицу CREATE TABLE IF NOT EXISTS `re_topic_links` ( `id` int(11) NOT NULL AUTO_INCREMENT, `topic_id` int(11) NOT NULL, `link_topic_id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Разберем на примере как нам сделать переадресацию одной категории в другую:<br/> # Нажмите в админке Структура - Переадресация категорий # В первой колонке выводятся все категории, которые созданы в CMS Sitebill, левее находится выпадающий список в которые мы хотим сделать переадресацию. # Например у нас есть Категория: ''Аренда / Комнаты / Секционки'', если левее мы выберем из выпадающего списка ''Аренда - Комнаты'', тогда скрипт переместит в дальнейшем все объявления из ''Аренда / Комнаты / Секционки'' в ''Аренда / Комнаты'' # Если нам не нужна переадресация для категории, то ничего не меняем, в выпадающем списке пусть так и остается эта же категория. d8da0c40e2d8b35d725c197d3b4938e3ec43db77 ExcelFree 0 59 338 2015-11-15T18:14:20Z Abushyk 2 Новая страница: «ExcelFree» wikitext text/x-wiki ExcelFree 38bc71b1a0678504e25d5f10cda746b3d9b80ab4 340 338 2015-11-15T18:16:59Z Abushyk 2 wikitext text/x-wiki == Назначение == Формирование файлов типа MS Excel с наборами данных. Возможность загружать данные из файлов в формате MS Excel. 4e1ac5f15f01d0f7494fbcf55c86a4556e01f6fb 342 340 2015-11-15T18:19:29Z Abushyk 2 wikitext text/x-wiki == Описание == Формирование файлов типа MS Excel с наборами данных. Возможность загружать данные из файлов в формате MS Excel. 95914fe07c6e93277d360aa5aeaac530f3aee83a Приложение "GeoData" 0 52 341 257 2015-11-15T18:19:14Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для организации работы с картами. Выполняет служебные операции как формирование карты выбора расположения объекта в формах правки\добавления, геокодировочные операции, как автоматические, там и запускаемые мануально. Для автоматического геокодирования необходимо обновить приложение GeoData до 1.4.9<br /> Затем зайти в Настройки - вкладка GeoData<br /> В пункте apps.geodata.try_encode ставим 1<br /> В пункте apps.geodata.try_encode_fields ставим city_id, street_id, number<br /> Сохраняем и пробуем добавить новое объявление.<br /> Координаты определяться, если вы выбрали существующий город и улицу в нем, а если указали существующий номер дома, тогда и на номер дома покажет.<br /> 99d74d7ad45fc607fb2da059bb3ec090faa37936 Приложение "Mailbox" 0 15 346 59 2015-11-15T18:21:40Z Abushyk 2 wikitext text/x-wiki == Описание == Данное приложение предназначено для внутренней переписки пользователей и посетителей сайта. Например, из формы объявления можно отправить заявку на этот объект. В форме посетитель указывает свои контактные данные и сообщение. В поле тема сообщения автоматически добавляется ID объявления и его краткое описание. <br /><br /> После отправки сообщения хозяин этого объявления получает почтовое уведомление на адрес указанный у него в профиле. Также это сообщение записывается в его личные сообщения и доступно в личном кабинете в пункте «Мои сообщения». Непрочитанные сообщения отмечены жирным шрифтов. <br /><br /> Также у приложения «Почтовый ящик» есть функция рекомендации объявления другу по почте. При нажатии на кнопку «Поделиться» появляется форма в которой посетителю нужно вписать свой email и email друга и текст с сообщением. Это сообщение отправляется на адрес друга со ссылкой на объявление и пометкой от кого с его сообщением.<br /><br /> == Установка == В новых дистрибутивах приложение установлено по-умолчанию. Для старых дистрибутивов нужно распаковать архив mailbox.zip и загрузить файлы в каталог /apps/mailbox/. Затем зайти в панель управления и набрать адрес /admin/?action=mailbox. Пропишутся все необходимые переменные и создадутся нужные таблицы в базе данных. После этого в настройках появиться закладка Mailbox. Там нужно поставить галочку «Включить приложение Mailbox». d1b2469a7cd436e8dd0670991ffa266f1a15fdbe Antiagent 0 60 348 2015-11-15T18:22:39Z Abushyk 2 Abushyk переименовал страницу [[Antiagent]] в [[Приложение Antiagent]] wikitext text/x-wiki #перенаправление [[Приложение Antiagent]] 3388b8473dbe769f0a03fa899664bcd1da27c879 Приложение "Выгрузка Yandex.Realty" 0 31 350 287 2015-11-15T18:25:43Z Abushyk 2 wikitext text/x-wiki Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена === Настройки === '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty <br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK ee5b6aca294fd99db9bdf029dcf1b56dc458468e 351 350 2015-11-15T18:29:35Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена === Настройки === '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty <br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK c7b6e7517923f9eafeb3a9689b9933c7ef740505 352 351 2015-11-15T18:35:20Z Abushyk 2 /* Настройки */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена === Настройки === '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty <br/> '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK 7a27eced8559e8f9180dc7e2355f15c10a9b73b2 353 352 2015-11-15T18:35:48Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty <br/> '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK 74ed8017c03a372683802336692ccf4d8a35a7b9 Связанные элементы 0 46 354 194 2015-11-21T14:06:35Z Kondin 1 wikitext text/x-wiki '''''Находится в тестовом режиме.'''''<br /> '''''Требует включения режима Off system Ajax (Настройки - Дополнительно)''''' <br /> <br /> Связанные элементы - элементы модели, которые на форме обладают характером связанных сущностей. Самый привычный пример - это поле выбора Страна и поле выбора Регион, где, после выбора конкретной страны, набор доступных к выбору регионов усекается до списка регионов, соответствующих выбранной стране.<br /> Связь может быть единичной, как в случае Страна-Регион, так и множественной, когда, от выбора города на форме, изменяется набор, доступных к выбору, Районов и Станций метро, хотя, между собой, Район и Метро не связаны - они являются дочерними к Городу одновременно.<br /> Для установки связи между элементами необходимо в полях Параметры элемента формы указать соответствующие связи. Связи указываются для обеих элементов, как родительского, так и дочернего.<br /> Для указания связей родительского элемента используется параметр '''linked'''. Его значения принимают вид пар связей разделенных точкой с запятой. Например, для поля Город (city_id): <pre>street_id,city_id;district_id,city_id</pre> где указано, что зависимыми от поля Город являются поля с системными именами street_id и district_id. При чем, первый связан с исходным полем своим значением из колонки city_id, а второй - city_id.<br /> '''Пробелы в строке значения параметра не допускаются.'''<br /> Если требуется связать только с одним полем, то связка выглядит короче. Например, для поля Страна: <pre>region_id,country_id</pre> Так же необходимо указать обратную связь, от подчиненного элемента к родительскому. Эта связь указывается параметром '''depended''', значение которого содержит системное имя родительского поля. Это необходимо для того, что бы подчиненное поле могло сформировать свое содержимое с учетом выбранного значения из родительского поля. Например, для Района: <pre>city_id</pre> указывает, что поле выбора Района стоит в зависимости от поля Города.<br /> Взаимное указание зависимостей родительского и подчиненного элементов обуславливает целостность связи и должно быть соблюдено. Движок программно не контролирует целостность связей. <br/> Обсудить на форуме http://www.etown.ru/s/topic/782-%D0%BF%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B5-%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D0%B8-%D1%81%D0%B2%D1%8F%D0%B7%D0%B0%D0%BD/ 481288e01bec5d3ea6c16a30766aed6d72153347 Приложение "Выгрузка Авито.Недвижимость" 0 61 355 2015-11-24T10:23:29Z Abushyk 2 Новая страница: «Выгрузка Авито.Недвижимость» wikitext text/x-wiki Выгрузка Авито.Недвижимость 11e0bb8986ae1a67afdbc487000ffe08cbf1609c 357 355 2015-11-24T10:27:41Z Abushyk 2 wikitext text/x-wiki Данное приложение не имеет фронтальной части. Для того, что бы активизировать его работу необходимо в своем файле /main/main.php шаблона осуществить перехват адреса выгрузки. Для этого в указанном файле необходимо разместить блок <pre> if($REQUESTURIPATH=='алиас_выгрузки'){ require_once SITEBILL_DOCUMENT_ROOT.'/apps/avitorealty/admin/admin.php'; $ARE=new avitorealty_admin(); header("Content-Type: text/xml"); $ARE->export(); exit(); } </pre> В качестве алиас_выгрузки может использоваться любой буквенно-цифровой алиас, например avitorealty 5eeb618d03da19d6fcfe30898a0ca27b6045bfab 358 357 2015-11-24T10:34:29Z Abushyk 2 wikitext text/x-wiki == Запуск == Данное приложение не имеет фронтальной части. Для того, что бы активизировать его работу необходимо в своем файле /main/main.php шаблона осуществить перехват адреса выгрузки. Для этого в указанном файле необходимо разместить блок <pre> if($REQUESTURIPATH=='алиас_выгрузки'){ require_once SITEBILL_DOCUMENT_ROOT.'/apps/avitorealty/admin/admin.php'; $ARE=new avitorealty_admin(); header("Content-Type: text/xml"); $ARE->export(); exit(); } </pre> Данный блок должен быть размещен максимально вверху функции main(), но не выше строки <pre>$REQUESTURIPATH=Sitebill::getClearRequestURI();</pre> В качестве ''алиас_выгрузки'' может использоваться любой буквенно-цифровой алиас, например ''avitorealty'' == Настройки == Если в Вашей модели объявления нет поля date_edit, то Вам необходимо отметить галочку Настройки - Выгрузка Авито.Недвижимость - Не использовать поле date_edit (apps.avitorealty.no_dateeditfield) Если в Вашей модели объявлений есть отдельное поле указывающее тип контракта (продажа\аренда), необходимо указать в настройках системное имя этого поля и значения соотв. для конкретных типов. Напр. если у Вас используется поле optype (Тип операции) с вариантами значений 1-Аренда и 2-Продажа, тогда в Настройки - Выгрузка Авито.Недвижимость - Поле:Значение отвечающие за признак продажи (apps.avitorealty.sell) нужно указать optype:2 а в Настройки - Выгрузка Авито.Недвижимость - Поле:Значение отвечающие за признак аренды (apps.avitorealty.rent) - optype:1 Если отдельного поля типа контракта нет, а тип контракта указан в виде раздела в Структуре, тога эти поля оставляются незаполненными, а соотв. тип контракта указывается в ассоциациях типов. 66f0b7cffbcc8d0b1bf7260754df6ffda6345dc0 359 358 2015-11-24T10:40:57Z Abushyk 2 wikitext text/x-wiki == Запуск == Данное приложение не имеет фронтальной части. Для того, что бы активизировать его работу необходимо в своем файле /main/main.php шаблона осуществить перехват адреса выгрузки. Для этого в указанном файле необходимо разместить блок <pre> if($REQUESTURIPATH=='алиас_выгрузки'){ require_once SITEBILL_DOCUMENT_ROOT.'/apps/avitorealty/admin/admin.php'; $ARE=new avitorealty_admin(); header("Content-Type: text/xml"); $ARE->export(); exit(); } </pre> Данный блок должен быть размещен максимально вверху функции main(), но не выше строки <pre>$REQUESTURIPATH=Sitebill::getClearRequestURI();</pre> В качестве ''алиас_выгрузки'' может использоваться любой буквенно-цифровой алиас, например ''avitorealty'' == Настройки == Если в Вашей модели объявления нет поля date_edit, то Вам необходимо отметить галочку Настройки - Выгрузка Авито.Недвижимость - Не использовать поле date_edit (apps.avitorealty.no_dateeditfield)<br /> Если в Вашей модели объявлений есть отдельное поле указывающее тип контракта (продажа\аренда), необходимо указать в настройках системное имя этого поля и значения соотв. для конкретных типов.<br /> Напр. если у Вас используется поле optype (Тип операции) с вариантами значений 1-Аренда и 2-Продажа, тогда в Настройки - Выгрузка Авито.Недвижимость - Поле:Значение отвечающие за признак продажи (apps.avitorealty.sell) нужно указать optype:2 а в Настройки - Выгрузка Авито.Недвижимость - Поле:Значение отвечающие за признак аренды (apps.avitorealty.rent) - optype:1<br /> Если отдельного поля типа контракта нет, а тип контракта указан в виде раздела в Структуре, тога эти поля оставляются незаполненными, а соотв. тип контракта указывается в ассоциациях типов.<br /> Перед началом выгрузки необходимо проассоциировать Ваши типы недвижимости соотв. типами присущими Avito. Это делается в административной части приложения. При установке ассоциаций, если у Вас используется отдельно поле для типа контракта, поле Тип операции следует оставлять в состоянии "Игнорировать" и указывать только тип и категорию недвижимости. a25ca8136fce1b6a0a2aad1fd728fd63694ec2e6 Приложения 0 6 356 345 2015-11-24T10:24:05Z Abushyk 2 /* Выгрузка */ wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"]]<br /> == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 7f0efd024ca1e54f79fe092196a561a813983c16 360 356 2015-11-27T09:58:21Z Kondin 1 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"]]<br /> == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 9b87993ee0bcaee58d56746c77184066ebd21669 389 360 2016-01-24T19:32:49Z Abushyk 2 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"]]<br /> [[Приложение "RSS новостей сайта"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) a52ca00028c04ef85bf577014676b0d3a231fd5b Приложение "PayPal" 0 62 361 2015-11-27T09:58:31Z Kondin 1 Новая страница: «https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/» wikitext text/x-wiki https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/ 23455e6ccd3ed22572e426b30f27287477b8682a 362 361 2015-11-27T10:02:03Z Kondin 1 wikitext text/x-wiki https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/ Обсуждение на форуме http://www.etown.ru/s/topic/1740-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%BD%D0%BE%D0%B9-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-paypal/?hl=paypal 39ea526373d55587b4cfe5cc1ca02479e7a06383 Apps.api 0 50 363 240 2015-11-30T08:21:31Z Kondin 1 wikitext text/x-wiki apps.api необходим для взаимодействия с внешними приложениями.<br/> Например, с мобильным приложением Sitebill https://play.google.com/store/apps/details?id=ru.sitebill.mobilecms 1 LOGIN Запрос Параметр Тип данных Описание action Строка Значение должно быть oauth do Строка Значение должно быть login login Строка Логин пользователя password Строка Пароль пользователя в открытом виде Ответ Параметр Тип данных Описание user_id Целое идентификатор пользователя из CMS session_key Строка ключ сессии (далее он будет использоваться при авторизации любых запросов без ввода логина и пароля) admin_panel_login Boolean ‘0/1’; 0 – если пользователю нельзя входить в админку CMS, 1 – если можно. error Строка Сообщение об ошибке login failed, если авторизация не удалась Пример JSON Запрос http://estate.sitebill.ru/apps/api/rest.php?action=oauth&do=login&login=admin&password=admin Ответ { "user_id":"1", "session_key":"9bc07b8887ddbb6bf4409039f8d50dae", "admin_panel_login":1 } 2 CHECK_SESSION_KEY Запрос Параметр Тип данных Описание action Строка Значение должно быть oauth do Строка Значение должно быть check_session_key session_key Строка это ключ сессии Ответ Параметр Тип данных Описание user_id Целое Идентификатор пользователя session_key Строка Ключ сессии config Массив Состав массива ниже config[per_page] Целое Это дополнительный параметр, который определяет сколько объектов (объявлений) на страницу будет выводиться в пейджере. error Строка check_session_key_failed – если ошибка при проверке ключа, например, такого ключа нет. Пример JSON http://estate.sitebill.ru/apps/api/rest.php?action=oauth&do=check_session_key&session_key=demo_session_key { "user_id":"1", "config":{ "per_page":"20" }, "admin_panel_login":1, "city_list":[ {"city_id":"7","name":"Москва"}, {"city_id":"2","name":"Красноярск"}, {"city_id":"1","name":"Новосибирск"} ] } 3 STAT_URL Запрос, пока не используется Параметр Тип данных Описание action Строка stat - значение do Строка сommon - значение Ответ Параметр Тип данных Описание data_total Целое Количество объявлений на сайте data_notactive Целое Количество неактивных объявлений user_totla Целое Количество зарегистрированных пользователей client_total Целое Количество клиентов из apps.client Пример JSON http://estate.sitebill.ru/apps/api/rest.php?action=stat&do=common&session_key=demo_session_key { "data_total":"21", "data_notactive":"0", "user_total":"32", "client_total":"1" } 4 CITY_LIST Запрос Параметр Тип данных Описание action Строка stat - значение do Строка get_city_list - значение session_key Строка Ключ сессии Ответ Параметр Тип данных Описание city_list Массив Содержит массив городов city_id Целое Идентификатор города name Строка Название города Пример JSON http://estate.sitebill.ru/apps/api/rest.php?action=stat&do=get_city_list&session_key=demo_session_key { "city_list":[ {"city_id":"7","name":"Москва"}, {"city_id":"2","name":"Красноярск"}, {"city_id":"1","name":"Новосибирск"}, {"city_id":"3","name":"Екатеринбург"}, {"city_id":"4","name":"Санкт-Петербург"}, {"city_id":"6","name":"Сочи"} ] } 5 DATA_GRID Запрос Параметр Тип данных Описание action Строка stat - значение do Строка data_grid – значение session_key Строка Ключ сессии Ответ Параметр Тип данных Описание params Массив Тут передаются параметры params[max_page] Целое Максимальное количество страниц с объявлениями по данному запросу. data Массив Это массив объявлений Id Целое Идентификатор объявления Дальше идет очень много параметров, думаю по названиям понятно для чего они. Каритнки хранятся в каталоге на сайте /img/data/ - относительного этого пути нужно их искать. Пример JSON http://estate.sitebill.ru/apps/api/rest.php?action=stat&do=data_grid&page=1&session_key=demo_session_key { "data": [ { "price_ue": "123123", "id": "33815", "user_id": "1", "type_id": "0", "topic_id": "14", "country_id": "0", "city_id": "1", "metro_id": "5", "district_id": "26", "street": "Мира", "price": "123123", "text": "Просторная квартира", "contact": null, "date_added": "2015-04-14 12:05:26", "agent_tel": null, "room_count": "1", "elite": "0", "session_id": "", "active": "1", "image": [ { "preview": "prv552ce6884bc6c_1429005960_1.jpg", "normal": "img552ce6884bc32_1429005960_1.jpg", "type": "graphic", "mime": "jpg" }, { "preview": "prv552ce68863ff7_1429005960_2.jpg", "normal": "img552ce68863fbe_1429005960_2.jpg", "type": "graphic", "mime": "jpg" }, { "preview": "prv552ce6886c1fe_1429005960_3.jpg", "normal": "img552ce6886c1be_1429005960_3.jpg", "type": "graphic", "mime": "jpg" } ], "sub_id1": "0", "sub_id2": "0", "reviews_count": "0", "hot": "0", "floor": "2", "floor_count": "3", "walls": "кирпич", "balcony": "лоджия", "square_all": "40", "square_live": "60", "square_kitchen": "20", "bathroom": "раздельный", "img1": "", "img2": "", "img3": "", "img4": "", "img5": "", "img1_preview": "", "img2_preview": "", "img3_preview": "", "img4_preview": "", "img5_preview": "", "is_telephone": "1", "furniture": "1", "plate": "электро", "agent_email": "", "number": "", "spec": "0", "floor_cover": null, "square_room": null, "is_kitchen": "0", "region_id": "6", "street_id": "844", "planning": "новая", "dom": "", "flat_number": "", "owner": "", "source": "", "adv_date": "", "more1": "", "more2": "", "more3": "", "youtube": "", "realty_type_id": "0", "view_count": "0", "fio": "", "email": "", "tmp_password": "", "phone": "", "best": "0", "currency_id": "1", "ad_mobile_phone": "", "ad_stacionary_phone": "", "can_call_start": "", "can_call_end": "", "url": null, "geo_lat": null, "geo_lng": null, "land_square": "", "road_distance": "", "name_ua": null, "name_cn": null, "name_am": null, "premium_status_end": "0", "vip_status_end": "0", "bold_status_end": "0", "meta_title": null, "meta_keywords": null, "meta_description": null, "bathroom_unit": "", "floor_covering": "", "window_view": "", "building_name": "", "building_type": "", "building_series": "", "building_state": "", "built_year": "", "ready_quarter": "", "lift": "0", "rubbish_chute": "0", "is_elite": "0", "parking": "0", "alarm": "0", "ceiling_height": "", "pmg": "0", "kitchen": "0", "pool": "0", "billiard": "0", "sauna": "0", "heating_supply": "0", "water_supply": "0", "sewerage_supply": "0", "electricity_supply": "0", "gas_supply": "0", "toilet": "", "shower": "", "expire_date": "0000-00-00 00:00:00", "payed_adv": "0", "manually_added": "0", "direction": "", "distance": "", "time_on_transport": "", "time_on_foot": "", "railway_station": "", "not_for_agents": "0", "haggle": "0", "mortgage": "0", "prepayment": "", "rent_pledge": "0", "agent_fee": "", "with_pets": "0", "with_children": "0", "renovation": "", "lot_type": "", "lot_area": "", "new_flat": "0", "rooms": "0", "rooms_offered": "0", "open_plan": "0", "rooms_type": "", "internet": "0", "room_furniture": "0", "kitchen_furniture": "0", "television": "0", "washing_machine": "0", "refrigerator": "0", "type_sh": "2-комнатная.", "region": "Красноярский край", "district": "Советский", "city": "Красноярск", "metro": "Революции", "user": "Иван Иванов", "currency": "RUR", "path": "Аренда \/ 2-комнатная.", "date": "14.04", "datetime": "14.04 12:05", "topic_info": { "id": "14", "name": "2-комнатная.", "active": "2", "parent_id": "1", "order": "12", "sql_where": "room_count = 2", "obj_type_id": "0", "def_id1": "0", "def_id2": "0", "operation_type_id": "0", "url": "arenda-kvartir\/2-komn", "description": null, "meta_title": null, "meta_keywords": null, "meta_description": null, "name_en": null, "name_ua": null, "name_cn": null, "name_am": null, "public_title": null }, "parent_category_url": "arenda-kvartir\/2-komn\/", "href": "\/arenda-kvartir\/2-komn\/realty33815", "img": [ { "preview": "prv552ce6884bc6c_1429005960_1.jpg", "normal": "img552ce6884bc32_1429005960_1.jpg", "type": "graphic", "mime": "jpg" }, { "preview": "prv552ce68863ff7_1429005960_2.jpg", "normal": "img552ce68863fbe_1429005960_2.jpg", "type": "graphic", "mime": "jpg" }, { "preview": "prv552ce6886c1fe_1429005960_3.jpg", "normal": "img552ce6886c1be_1429005960_3.jpg", "type": "graphic", "mime": "jpg" } ] } ], "params": { "max_page": 2 } } 6 REALTY_VIEW Запрос Параметр Тип данных Описание action Строка stat - значение do Строка realty_view – значение realty_id Целое Идентификатор объявления session_key Строка Ключ сессии Ответ Параметр Тип данных Описание data Массив Массив с данным об объявлении user Массив Массив данных о владельце объявления Для каждого поля есть набор системных параметров, например, для ID есть name, title, value … Весь этот набор строится на основе модели дынных внутри CMS Sitebill Про саму модель есть видео http://www.youtube.com/watch?v=vpVpUq0q5GA Пример JSON http://estate.sitebill.ru/apps/api/rest.php?action=stat&do=realty_view&realty_id=1967&session_key=demo_session_key { "data": { "id": { "name": "id", "title": "Идентификатор", "value": "1967", "type": "primary_key", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": "", "combo": "0", "parameters": [], "required": "off", "unique": "off" }, "user_id": { "name": "user_id", "title": "Идентификатор пользователя", "value": "1", "type": "primary_key", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": "", "combo": "0", "required": "off", "unique": "off" }, "active": { "name": "active", "title": "Публиковать на сайте", "value": "1", "type": "checkbox", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": "", "combo": "0", "parameters": [], "required": "off", "unique": "off" }, "hot": { "name": "hot", "title": "Спецразмещение", "value": "1", "type": "checkbox", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": null, "hint": null, "active_in_topic": null, "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "topic_id": { "name": "topic_id", "title": "Категория", "value": "4110", "type": "select_box_structure", "primary_key_name": "", "primary_key_table": "", "value_string": "Офисы", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "выберите одну категорию", "active_in_topic": "0", "group_id": "0", "entity": "", "combo": "0", "parameters": [], "required": "on", "unique": "off" }, "region_id": { "name": "region_id", "title": "Регион", "value": "11", "type": "select_by_query", "primary_key_name": "region_id", "primary_key_table": "region", "value_string": "Караганда", "query": "select * from re_region order by name", "value_name": "name", "title_default": "выбрать регион", "value_default": "0", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": null, "hint": null, "active_in_topic": null, "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off", "onchange": " update_child_list('city_id',this); set_empty('district_id',this); set_empty('metro_id',this); set_empty('street_id',this); ", "ajax_options": { "update_child_list": [ "city_id" ], "set_empty": [ "district_id", "metro_id", "street_id" ] } }, "city_id": { "name": "city_id", "title": "Город", "value": "1", "type": "select_by_query", "primary_key_name": "city_id", "primary_key_table": "city", "value_string": "Москва", "query": "select * from re_city order by name", "value_name": "name", "title_default": "выбрать город", "value_default": "0", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": null, "hint": null, "active_in_topic": null, "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off", "onchange": " update_child_list('metro_id',this); update_child_list('district_id',this); set_empty('street_id',this); ", "ajax_options": { "update_child_list": [ "district_id" ], "set_empty": [ "street_id" ] } }, "metro_id": { "name": "metro_id", "title": "Метро", "value": "0", "type": "select_by_query", "primary_key_name": "metro_id", "primary_key_table": "metro", "value_string": "", "query": "select * from re_metro order by name", "value_name": "name", "title_default": "выбрать метро", "value_default": "0", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": null, "hint": null, "active_in_topic": null, "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "district_id": { "name": "district_id", "title": "Район", "value": "29", "type": "select_by_query", "primary_key_name": "id", "primary_key_table": "district", "value_string": "Васька", "query": "select * from re_district order by name", "value_name": "name", "title_default": "выбрать район", "value_default": "0", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": null, "hint": null, "active_in_topic": null, "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off", "onchange": " update_child_list('street_id',this); ", "ajax_options": { "update_child_list": [ "street_id" ] } }, "street_id": { "name": "street_id", "title": "Улица", "value": "527", "type": "select_by_query", "primary_key_name": "street_id", "primary_key_table": "street", "value_string": "Мусоргского", "query": "select * from re_street order by name", "value_name": "name", "title_default": "выбрать улицу", "value_default": "0", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": "", "combo": "0", "parameters": { "autocomplete": "1" }, "required": "off", "unique": "off" }, "price": { "name": "price", "title": "Цена", "value": "5000000", "type": "price", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": null, "hint": null, "active_in_topic": null, "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "geo": { "name": "geo", "title": "Координаты", "value": { "lat": "55.861676", "lng": "37.621246" }, "type": "geodata", "primary_key_name": "", "primary_key_table": "", "value_string": null, "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "можно указывать координаты на карте, например, для земельных участков без адреса", "active_in_topic": "0", "group_id": "0", "entity": "", "combo": "0", "parameters": [], "required": "off", "unique": "off" }, "room_count": { "name": "room_count", "title": "Кол.во комнат", "value": "2", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "Характеристики объекта", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "floor": { "name": "floor", "title": "Этаж", "value": "8", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "Характеристики объекта", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "floor_count": { "name": "floor_count", "title": "Этажность", "value": "10", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "Характеристики объекта", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "walls": { "name": "walls", "title": "Материал стен", "value": "кирпич", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "Характеристики объекта", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "planning": { "name": "planning", "title": "Планировка", "value": "", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "Характеристики объекта", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "balcony": { "name": "balcony", "title": "Балкон", "value": "лоджия", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "Характеристики объекта", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "square_all": { "name": "square_all", "title": "Площадь общая", "value": "80", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "Характеристики объекта", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "square_live": { "name": "square_live", "title": "Площадь жилая", "value": "50", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "Характеристики объекта", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "square_kitchen": { "name": "square_kitchen", "title": "Площадь кухни", "value": "12", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "Характеристики объекта", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "bathroom": { "name": "bathroom", "title": "Сан. узел", "value": "раздельный", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "Характеристики объекта", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "plate": { "name": "plate", "title": "Плита", "value": "электро", "type": "select_box", "primary_key_name": "", "primary_key_table": "", "value_string": "электро", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "select_data": { "нет": "нет", "газ": "газ", "электро": "электро" }, "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "Характеристики объекта", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "is_telephone": { "name": "is_telephone", "title": "Телефон", "value": "0", "type": "checkbox", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "Характеристики объекта", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "furniture": { "name": "furniture", "title": "Мебель", "value": "0", "type": "checkbox", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "Характеристики объекта", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "text": { "name": "text", "title": "Описание", "value": "Офис для крупной компании. Здесь можно второй гугл построить!", "type": "textarea", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "Фото и комментарии", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "fio": { "name": "fio", "title": "Ваше имя", "value": "", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": null, "hint": null, "active_in_topic": null, "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "email": { "name": "email", "title": "E-mail", "value": "", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": null, "hint": null, "active_in_topic": null, "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "phone": { "name": "phone", "title": "Ваш телефон", "value": "", "type": "mobilephone", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "columns", "tab": null, "hint": null, "active_in_topic": null, "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "view_count": { "name": "view_count", "title": "Количество просмотров", "value": "129", "type": "hidden", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": null, "hint": null, "active_in_topic": null, "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "image": { "name": "image", "title": "Фото", "value": [ { "normal": "img52afcba7afd71_1387252647_1.jpg", "preview": "prv52afcba7afd9c_1387252647_1.jpg", "title": "", "description": "", "mime": "jpg", "type": "graphic" }, { "normal": "img31445_1361327684_1.jpg", "preview": "prv31445_1361327684_1.jpg", "title": "", "description": "", "mime": "jpg", "type": "graphic" }, { "normal": "img31445_1361327684_2.jpg", "preview": "prv31445_1361327684_2.jpg", "title": "", "description": "", "mime": "jpg", "type": "graphic" }, { "normal": "img31445_1361327684_3.jpg", "preview": "prv31445_1361327684_3.jpg", "title": "", "description": "", "mime": "jpg", "type": "graphic" } ], "type": "uploads", "primary_key_name": "", "primary_key_table": "", "value_string": null, "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "data", "primary_key": "id", "primary_key_value": "1967", "action": "", "tab": "Фото и комментарии", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": "", "combo": "0", "parameters": [], "required": "off", "unique": "off", "image_array": [ { "normal": "img52afcba7afd71_1387252647_1.jpg", "preview": "prv52afcba7afd9c_1387252647_1.jpg", "title": "", "description": "", "mime": "jpg", "type": "graphic" }, { "normal": "img31445_1361327684_1.jpg", "preview": "prv31445_1361327684_1.jpg", "title": "", "description": "", "mime": "jpg", "type": "graphic" }, { "normal": "img31445_1361327684_2.jpg", "preview": "prv31445_1361327684_2.jpg", "title": "", "description": "", "mime": "jpg", "type": "graphic" }, { "normal": "img31445_1361327684_3.jpg", "preview": "prv31445_1361327684_3.jpg", "title": "", "description": "", "mime": "jpg", "type": "graphic" } ] } }, "user": { "user_id": { "name": "user_id", "title": "ID", "value": "1", "type": "primary_key", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "group_id": { "name": "group_id", "title": "Группа", "value": "1", "type": "select_by_query", "primary_key_name": "group_id", "primary_key_table": "group", "value_string": "Администраторы", "query": "select * from re_group order by name", "value_name": "name", "title_default": "выбрать группу", "value_default": "0", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "on", "unique": "off" }, "login": { "name": "login", "title": "Login", "value": "admin", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "on", "unique": "off" }, "reg_date": { "name": "reg_date", "title": "Дата регистрации", "value": "0000-00-00 00:00:00", "type": "hidden", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "newpass": { "name": "newpass", "title": "Новый пароль", "value": null, "type": "password", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "notable", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "newpass_retype": { "name": "newpass_retype", "title": "Повторите новый пароль", "value": null, "type": "password", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "notable", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "fio": { "name": "fio", "title": "ФИО", "value": "Иван Иванов", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "email": { "name": "email", "title": "Email", "value": "kondin@etown.ru", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "on", "unique": "on" }, "phone": { "name": "phone", "title": "Телефон", "value": "234-34-34", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "mobile": { "name": "mobile", "title": "Мобильный телефон", "value": "", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "icq": { "name": "icq", "title": "ICQ#", "value": "73072365", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "site": { "name": "site", "title": "Сайт", "value": "http:\/\/www.sitebill.ru", "type": "safe_string", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" }, "imgfile": { "name": "imgfile", "title": "Фото", "value": "img9866_1338745122_379.jpg", "type": "photo", "primary_key_name": "", "primary_key_table": "", "value_string": "", "query": "", "value_name": "", "title_default": "", "value_default": "", "value_table": "", "value_primary_key": "", "value_field": "", "assign_to": "", "dbtype": "", "table_name": "", "primary_key": "", "primary_key_value": "", "action": "", "tab": "", "hint": "", "active_in_topic": "0", "group_id": "0", "entity": null, "combo": "0", "required": "off", "unique": "off" } } } 293066fa783dcb5ee56ca6c5da64705e8f6de07d 364 363 2015-11-30T08:22:09Z Kondin 1 Содержимое страницы заменено на «apps.api необходим для взаимодействия с внешними приложениями.<br/> Наприме…» wikitext text/x-wiki apps.api необходим для взаимодействия с внешними приложениями.<br/> Например, с мобильным приложением Sitebill https://play.google.com/store/apps/details?id=ru.sitebill.mobilecms 4842ab3a1573d6a9cbb627c91ddc36d5d5025c92 Регистрация с SMS подтверждением 0 56 365 327 2015-12-03T04:20:16Z Kondin 1 wikitext text/x-wiki Регистрация с SMS подтверждением предназначена для того, чтобы при регистрации пользователи указывали свой номер мобильного телефона в качестве логина. После этого пользователю на этот номер телефона отправляется код подтверждения, его нужно указать в форме регистрации. И после этого учетная запись активируется.<br/> ВНИМАНИЕ! Эта опция еще в стадии разработки и для ее внедрения требуется доработка вашего шаблона, за подробностями обращайтесь на почту dkondin@gmail.com 63d1bfe0dca5d8bc89dcaf356f98c749aabf1436 366 365 2015-12-03T04:20:25Z Kondin 1 wikitext text/x-wiki Регистрация с SMS подтверждением предназначена для того, чтобы при регистрации пользователи указывали свой номер мобильного телефона в качестве логина. После этого пользователю на этот номер телефона отправляется код подтверждения, его нужно указать в форме регистрации. И после этого учетная запись активируется.<br/> <big>ВНИМАНИЕ</big>! Эта опция еще в стадии разработки и для ее внедрения требуется доработка вашего шаблона, за подробностями обращайтесь на почту dkondin@gmail.com 611670e355c383ced92b7c0e228c85b9043ac24e Email as login 0 63 367 2015-12-08T09:14:06Z Kondin 1 Новая страница: «Опция предназначена для того, чтобы при регистрации пользователи указывали только email. И…» wikitext text/x-wiki Опция предназначена для того, чтобы при регистрации пользователи указывали только email. И в будущем вместо логина на форме входа пользователь должен вводить email. a31f59d0fdee8d3386b129ad699678cfe1e8ba94 401 367 2016-02-04T04:37:30Z Kondin 1 wikitext text/x-wiki Опция предназначена для того, чтобы при регистрации пользователи указывали только email. И в будущем вместо логина на форме входа пользователь должен вводить email.<br> Настройка этого параметра осуществляется только специалистами CMS Sitebill. aeb9b0abe65c7fb8e01e40fda8e7012ca59515c0 Приложение "Выгрузка Yandex.Realty" 0 31 368 353 2015-12-11T02:50:42Z Kondin 1 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty <br/> '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> apps.yandexrealty.contacts_export_mode - включает возможность управления приоритетами источника контактов и управлением присвоения выгрузочных групп<br/> apps.yandexrealty.contacts_assoc_str - задает строку соответствий источника объявления для групп<br/> может иметь вид<br/> 1:1;3:2 - для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> *:3 - для всех групп источник 3-го типа<br/> *:2;2:1 - для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Типы источников<br/> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только имейлы владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> apps.yandexrealty.groups_assoc_str - задает тип пользователя-владельца для яндекса в разрезе групп. Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> 1:o;3:a;2:d - группа 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> Принцип установки правил аналогичный предыдущему. Т.е. допустимо *:a;1:o - все агнеті, а 1-я группа владельцы.<br/> Дефолтным значением в случае неуказания будет owner<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> 009848caaa47bb2110649cda46ce80504d978d4e 370 368 2015-12-28T20:47:12Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty <br/> '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''apps.yandexrealty.contacts_export_mode''' - включает возможность управления приоритетами источника контактов и управлением присвоения выгрузочных групп<br/> '''apps.yandexrealty.contacts_assoc_str''' - задает строку соответствий источника объявления для групп<br/> может иметь вид<br/> 1:1;3:2 - для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> *:3 - для всех групп источник 3-го типа<br/> *:2;2:1 - для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Типы источников<br/> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только имейлы владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> apps.yandexrealty.groups_assoc_str - задает тип пользователя-владельца для яндекса в разрезе групп. Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> 1:o;3:a;2:d - группа 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> Принцип установки правил аналогичный предыдущему. Т.е. допустимо *:a;1:o - все агнеті, а 1-я группа владельцы.<br/> Дефолтным значением в случае неуказания будет owner<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> 98f9dfbc6fb02b408aab0d78f59db779984458ea 371 370 2015-12-28T20:57:45Z Abushyk 2 /* Настройки */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty <br/> '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> 1:1;3:2 - для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> *:3 - для всех групп источник 3-го типа<br/> *:2;2:1 - для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Типы источников<br/> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только имейлы владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять. Например <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> db78780b13eeb53ccf38a73137c78c70c1544523 372 371 2015-12-28T21:01:44Z Abushyk 2 /* Настройки */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty <br/> '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта. Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять. Существует 4 типа источников: 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например: <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять. Например <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> 28abf7fc79b3a8049e8c9b513c83997d6dd2a57d 373 372 2015-12-28T21:02:50Z Abushyk 2 /* Настройки */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty <br/> '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> 80c38900ddead90b06276102a5a1052f32cca16f Дополнительные параметры поиска 0 33 369 114 2015-12-17T09:02:44Z Kondin 1 wikitext text/x-wiki Для добавления дополнительных параметров поиска (кроме тех, что обрабатываются моделью или стандартным модулем поиска) можно использовать файл локального поиска.<br /> Этот файл должен быть расположен в папке '''/template/frontend/имя_шаблона/main/''' и иметь имя '''template_search.php'''.<br /> Основной код состоит из<br /> <pre> <?php class Template_Search extends SiteBill { public function getParams(){ $params=array(); .... return $params; } public function run(){ $where_array=array(); $params=$this->getParams(); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php'); $data_model = new Data_Model(); $data_model_array = $data_model->get_kvartira_model(false); $data_model_array = $data_model_array['data']; .... return array( 'where'=>$where_array, 'params'=>$params ); } } </pre> Файл, при существовании, автоматически подключается модулем поиска и запускается методом run() Метод '''Template_Search::getParams()''' предназначен для сбора переменных запроса, приведения их к необходимому виду и принятия решения о включении параметра в список обрабатываемых. Например: <pre> if(''!==$this->getRequestValue('parking')){ $params['parking'] = (int)$this->getRequestValue('parking'); } </pre> если не пуста переменная parking, она приводится к целочисельному виду и передается в обработку. Метод '''Template_Search::run()''' получает собранные параметры и обрабатывает их явным образом. Иными словами этот метод должен знать, какие параметры ему придется обработать. Например: <pre> if($params['parking'] == 1 && isset($data_model_array['parking'])){ $where_array[]=DB_PREFIX.'_data.parking='.$params['parking']; } </pre> найдя параметр parking метод проверяет присутствует ли в модели такое поле и, если да, формирует часть для раздела WHERE запроса на выборку.<br /> С таким же успехом мы мы могли бы передать из формы значение is_parking, но добавить в запрос выборку именно по полю parking.<br /> Ответ от метода '''Template_Search::run()''' передается в виде массива элементов where - массив частей условий для WHERE запроса и params - массив параметров для формирования пейджера и сортировочных ссылок.<br /> Эти результаты будут добавлены к запросу, формируемому модулем поиска. 584b79c83c87aeffeec410321567039401145413 Настройки "Дополнительно" 0 64 374 2015-12-28T21:31:46Z Abushyk 2 Новая страница: «'''Off system Ajax (apps.realty.off_system_ajax)''' - Выключает все встроенные связи между элементами на сайте, …» wikitext text/x-wiki '''Off system Ajax (apps.realty.off_system_ajax)''' - Выключает все встроенные связи между элементами на сайте, такие как связь страны с регионом, региона с городом и т.д., но после этого становится возможным указать свои связи для элементов с помощью механики связанных элементов. '''Формат строки заголовка (apps.realty.title_preg)''' - Устанавливает формат заголовка объявления в странице просмотра с помощью набора ключей. Ключ имеет вид {AAA} где ААА - системное имя поля в модели объявления, либо спецобозначение. Напр. <pre>{!topic_path} = {country_id}, {region_id}, {city_id}, {optype}, {price} {currency_id} USD / {room_count}</pre> преобразуется в <pre>Жилая/Квартиры = Испания, Каталония, Барселона, Продажа, 200 000 EUR USD / 3</pre> т.е. все, что в фигурных скобках заменится соотв. текстовым значением, а то, что вне их - останется неизменным. Очень хорошо работает, когда в этой строке указываются точно заполненные поля. Не работает в условном режиме, например не способно понять, что значение описанное ключем пусто и его не нужно выводить. '''Параметры похожих (apps.realty.similar_preg)''' - это новая штучка, которая позволит самому определить принцип подбора Похожих объявлений в карточке. Вещь настолько новая, что наверное еще не дошла о обновлений. Вкратце суть ее в том, что мы можем определить количество шагов за которые нам будут набираться похожие и условия по которым ону буду набираться. Каждый шаг выделяется фигурными скобками и следующий после него выполняется только тогда, если при обработки предыдущих не было набрано указанное в настройках количество похлжих. Например {price:+3000,city_id,!innertopic} означает, что мне нужно подобрать похожие, которіе совпадают с просматриваемім по городу, имеют цену до 3000 большую от цены просматриваемого и могут быть размещены в разделах таком же как просматриваемое объявление, либо в его дочерних. Это один шаг. А если многошаговый, то {price:+3000,city_id,topic_id}{topic_id}{price:+3000,city_id,!parenttopic}{!supertopic}{!rand} Шаг 1. {price:+3000,city_id,topic_id} - совпадение по разделу и городу, цена до 3000 сверх Шаг 2. {topic_id} - совпадение по разделу Шаг 3. {price:+3000,city_id,!parenttopic} - совпадение по городу, цена до 3000 сверх и поиск по родительскому разделу, включая все детские Шаг 4. {!supertopic} - поиск по корневому разделу относительно раздела просматриваемого объявления Шаг 5. {!rand} - случайны добор - фактически это единственный ключ, который гарантирует, что ваших объявлений всегда будет набрано ровно столдько сколько указано в настройках, если в вашей базе объявлений хотя бы на 1 больше, чем требуется найти похожих. Так же можно указывать диапазонные значения {price:d3000} - значит подбор будет идти по значению поля price объекта плюс-минус 3000, либо {price:d20%} - уже плюс-минус 20% значения поля price объекта. И спецключи !supertopic - поиск по корневому разделу относительно раздела объекта, включая все детские этого корневого, типа поиска по ветви !parenttopic - поиск по первому родительскому разделу относительно раздела объекта, включая все детские этого родительсокго !innertopic - поиск по разделу просматриваемого и по всем детским разделам. d6c05eb4c6eeedc0fcc4fa1b7fa5c095fbb6400c 375 374 2015-12-28T21:38:04Z Abushyk 2 wikitext text/x-wiki '''Off system Ajax (apps.realty.off_system_ajax)''' - Выключает все встроенные связи между элементами на сайте, такие как связь страны с регионом, региона с городом и т.д., но после этого становится возможным указать свои связи для элементов с помощью механики связанных элементов. '''Формат строки заголовка (apps.realty.title_preg)''' - Устанавливает формат заголовка объявления в странице просмотра с помощью набора ключей. Ключ имеет вид {AAA} где ААА - системное имя поля в модели объявления, либо спецобозначение. Напр. <pre>{!topic_path} = {country_id}, {region_id}, {city_id}, {optype}, {price} {currency_id} USD / {room_count}</pre> преобразуется в <pre>Жилая/Квартиры = Испания, Каталония, Барселона, Продажа, 200 000 EUR USD / 3</pre> т.е. все, что в фигурных скобках заменится соотв. текстовым значением, а то, что вне их - останется неизменным. Очень хорошо работает, когда в этой строке указываются точно заполненные поля. Не работает в условном режиме, например не способно понять, что значение описанное ключем пусто и его не нужно выводить. Спецключи: !topic_path - содержит цепочку категорий в которых размещено объявление соединенную слешем. '''Параметры похожих (apps.realty.similar_preg)''' - позволит самому определить принцип подбора Похожих объявлений в карточке. Суть ее в том, что мы можем определить количество шагов за которые нам будут набираться похожие и условия по которым они буду набираться на каждом конкретном шагу. Исполнение шагов идет пошагово в порядке их описания в настройке. Каждый следующий шаг будет выполнен только тогда, когда на предыдущих шагах не удалось набрать нужное количество похожих. Каждый шаг выделяется фигурными скобками. Формат шага: {ключи_условий} Ключи условий указываются в виде системных имено полей по которым проводится сравнение, либо при помощи спецключей. С ключем могут указываться дополнительные параметры. Например <pre>{price:+3000,city_id,!innertopic}</pre> означает, что нужно подобрать похожие, которые совпадают с просматриваемым по городу, имеют цену до 3000 большую от цены просматриваемого и могут быть размещены в разделах таком же как просматриваемое объявление, либо в его дочерних. Это один шаг. Если правило многошаговое, то <pre>{price:+3000,city_id,topic_id}{topic_id}{price:+3000,city_id,!parenttopic}{!supertopic}{!rand}</pre> Шаг 1. {price:+3000,city_id,topic_id} - совпадение по разделу и городу, цена до 3000 сверх Шаг 2. {topic_id} - совпадение по разделу Шаг 3. {price:+3000,city_id,!parenttopic} - совпадение по городу, цена до 3000 сверх и поиск по родительскому разделу, включая все детские Шаг 4. {!supertopic} - поиск по корневому разделу относительно раздела просматриваемого объявления Шаг 5. {!rand} - случайны добор - фактически это единственный ключ, который гарантирует, что ваших объявлений всегда будет набрано ровно столько сколько указано в настройках, если в вашей базе объявлений хотя бы на 1 больше, чем требуется найти похожих. Так же можно указывать диапазонные значения {price:d3000} - значит подбор будет идти по значению поля price объекта плюс-минус 3000, либо {price:d20%} - уже плюс-минус 20% значения поля price объекта. И спецключи !supertopic - поиск по корневому разделу относительно раздела объекта, включая все детские этого корневого, типа поиска по ветви !parenttopic - поиск по первому родительскому разделу относительно раздела объекта, включая все детские этого родительсокго !innertopic - поиск по разделу просматриваемого и по всем детским разделам. 6dbe5f53c2375a8da52abc14d2263b3b51568de1 376 375 2015-12-28T21:38:42Z Abushyk 2 wikitext text/x-wiki '''Off system Ajax (apps.realty.off_system_ajax)''' - Выключает все встроенные связи между элементами на сайте, такие как связь страны с регионом, региона с городом и т.д., но после этого становится возможным указать свои связи для элементов с помощью механики связанных элементов. '''Формат строки заголовка (apps.realty.title_preg)''' - Устанавливает формат заголовка объявления в странице просмотра с помощью набора ключей. Ключ имеет вид {AAA} где ААА - системное имя поля в модели объявления, либо спецобозначение. Напр. <pre>{!topic_path} = {country_id}, {region_id}, {city_id}, {optype}, {price} {currency_id} USD / {room_count}</pre> преобразуется в <pre>Жилая/Квартиры = Испания, Каталония, Барселона, Продажа, 200 000 EUR USD / 3</pre> т.е. все, что в фигурных скобках заменится соотв. текстовым значением, а то, что вне их - останется неизменным. Очень хорошо работает, когда в этой строке указываются точно заполненные поля. Не работает в условном режиме, например не способно понять, что значение описанное ключем пусто и его не нужно выводить. Спецключи: !topic_path - содержит цепочку категорий в которых размещено объявление соединенную слешем. '''Параметры похожих (apps.realty.similar_preg)''' - позволит самому определить принцип подбора Похожих объявлений в карточке. Суть ее в том, что мы можем определить количество шагов за которые нам будут набираться похожие и условия по которым они буду набираться на каждом конкретном шагу. Исполнение шагов идет пошагово в порядке их описания в настройке. Каждый следующий шаг будет выполнен только тогда, когда на предыдущих шагах не удалось набрать нужное количество похожих. Каждый шаг выделяется фигурными скобками. Формат шага: {ключи_условий} Ключи условий указываются в виде системных имено полей по которым проводится сравнение, либо при помощи спецключей. С ключем могут указываться дополнительные параметры. Например <pre>{price:+3000,city_id,!innertopic}</pre> означает, что нужно подобрать похожие, которые совпадают с просматриваемым по городу, имеют цену до 3000 большую от цены просматриваемого и могут быть размещены в разделах таком же как просматриваемое объявление, либо в его дочерних. Это один шаг. Если правило многошаговое, то <pre>{price:+3000,city_id,topic_id}{topic_id}{price:+3000,city_id,!parenttopic}{!supertopic}{!rand}</pre> Шаг 1. {price:+3000,city_id,topic_id} - совпадение по разделу и городу, цена до 3000 сверх<br /> Шаг 2. {topic_id} - совпадение по разделу<br /> Шаг 3. {price:+3000,city_id,!parenttopic} - совпадение по городу, цена до 3000 сверх и поиск по родительскому разделу, включая все детские<br /> Шаг 4. {!supertopic} - поиск по корневому разделу относительно раздела просматриваемого объявления<br /> Шаг 5. {!rand} - случайны добор - фактически это единственный ключ, который гарантирует, что ваших объявлений всегда будет набрано ровно столько сколько указано в настройках, если в вашей базе объявлений хотя бы на 1 больше, чем требуется найти похожих.<br /> Так же можно указывать диапазонные значения {price:d3000} - значит подбор будет идти по значению поля price объекта плюс-минус 3000, либо {price:d20%} - уже плюс-минус 20% значения поля price объекта. И спецключи !supertopic - поиск по корневому разделу относительно раздела объекта, включая все детские этого корневого, типа поиска по ветви !parenttopic - поиск по первому родительскому разделу относительно раздела объекта, включая все детские этого родительсокго !innertopic - поиск по разделу просматриваемого и по всем детским разделам. 20b5306f926f4f77eaa436c5721dc74a272a5e11 377 376 2015-12-28T21:39:25Z Abushyk 2 wikitext text/x-wiki '''Off system Ajax (apps.realty.off_system_ajax)''' - Выключает все встроенные связи между элементами на сайте, такие как связь страны с регионом, региона с городом и т.д., но после этого становится возможным указать свои связи для элементов с помощью механики связанных элементов. '''Формат строки заголовка (apps.realty.title_preg)''' - Устанавливает формат заголовка объявления в странице просмотра с помощью набора ключей. Ключ имеет вид {AAA} где ААА - системное имя поля в модели объявления, либо спецобозначение. Напр. <pre>{!topic_path} = {country_id}, {region_id}, {city_id}, {optype}, {price} {currency_id} USD / {room_count}</pre> преобразуется в <pre>Жилая/Квартиры = Испания, Каталония, Барселона, Продажа, 200 000 EUR USD / 3</pre> т.е. все, что в фигурных скобках заменится соотв. текстовым значением, а то, что вне их - останется неизменным. Очень хорошо работает, когда в этой строке указываются точно заполненные поля. Не работает в условном режиме, например не способно понять, что значение описанное ключем пусто и его не нужно выводить. Спецключи: !topic_path - содержит цепочку категорий в которых размещено объявление соединенную слешем. '''Параметры похожих (apps.realty.similar_preg)''' - позволит самому определить принцип подбора Похожих объявлений в карточке. Суть ее в том, что мы можем определить количество шагов за которые нам будут набираться похожие и условия по которым они буду набираться на каждом конкретном шагу. Исполнение шагов идет пошагово в порядке их описания в настройке. Каждый следующий шаг будет выполнен только тогда, когда на предыдущих шагах не удалось набрать нужное количество похожих. Каждый шаг выделяется фигурными скобками.<br /> Формат шага: {ключи_условий}<br /> Ключи условий указываются в виде системных имено полей по которым проводится сравнение, либо при помощи спецключей. С ключем могут указываться дополнительные параметры.<br /> Например <pre>{price:+3000,city_id,!innertopic}</pre> означает, что нужно подобрать похожие, которые совпадают с просматриваемым по городу, имеют цену до 3000 большую от цены просматриваемого и могут быть размещены в разделах таком же как просматриваемое объявление, либо в его дочерних. Это один шаг. Если правило многошаговое, то <pre>{price:+3000,city_id,topic_id}{topic_id}{price:+3000,city_id,!parenttopic}{!supertopic}{!rand}</pre> Шаг 1. {price:+3000,city_id,topic_id} - совпадение по разделу и городу, цена до 3000 сверх<br /> Шаг 2. {topic_id} - совпадение по разделу<br /> Шаг 3. {price:+3000,city_id,!parenttopic} - совпадение по городу, цена до 3000 сверх и поиск по родительскому разделу, включая все детские<br /> Шаг 4. {!supertopic} - поиск по корневому разделу относительно раздела просматриваемого объявления<br /> Шаг 5. {!rand} - случайны добор - фактически это единственный ключ, который гарантирует, что ваших объявлений всегда будет набрано ровно столько сколько указано в настройках, если в вашей базе объявлений хотя бы на 1 больше, чем требуется найти похожих.<br /> Так же можно указывать диапазонные значения {price:d3000} - значит подбор будет идти по значению поля price объекта плюс-минус 3000, либо {price:d20%} - уже плюс-минус 20% значения поля price объекта.<br /> И спецключи<br /> !supertopic - поиск по корневому разделу относительно раздела объекта, включая все детские этого корневого, типа поиска по ветви<br /> !parenttopic - поиск по первому родительскому разделу относительно раздела объекта, включая все детские этого родительского<br /> !innertopic - поиск по разделу просматриваемого и по всем детским разделам. 524a03531f93c9da1847e547aaba80b769aaa013 Mail 0 37 378 255 2015-12-30T09:29:53Z Kondin 1 wikitext text/x-wiki Для того чтобы с сайта успешно отправлялись почтовые сообщения, они должны удовлетворять требования и не быть похожими на спам. Т.е. необходимо чтобы поле «От кого» содержало реальный адрес и соответствовало адресу сайта. Например, если ваш сайт называется '''arenda-kvartir.ru''', тогда поле «От кого» должно иметь вид '''info@arenda-kvartir.ru'''. Часть info – может быть любой, главное чтобы ваш почтовый сервер отвечал на запрос других почтовых серверов, что этот почтовый ящик существует. Поэтому в панели управления своего хостинга вам нужно создать этот почтовый ящик. Вместо info может быть no-reply, manager, admin, все что будет понятно тем, кому приходят эти письма.<br /> Адрес '''info@arenda-kvartir.ru''' нужно вписать в конфиге в поле '''system_email''' -------------- Не включайте опцию SMTP - она не работает для бесплатных почтовых служб (яндекс, mail.ru и прочих), эта опция подходит только тем, у кого есть свой сервер. <br /> <br /> Если вы уверены, что все настройки прописали правильно, то следующий шаг - нужно проверить отправку почты с хостинга в целом. Для этого мы разработали тестовый скрипт, скачать его тут http://www.sitebill.ru/storage/distr/test-mail.zip <br /> Распакуйте архив и замените вот эти адреса на ваши<br /> $from = 'info@vashsite.ru'; - здесь вписываем вместо vashsite.ru - ваш сайт<br /> $to = 'dkondin@gmail.com'; - здесь вписываем адрес почты, на который будут приходить заявки<br /> Затем загрузите измененный скрипт test-mail.php в корень вашего сайта по FTP<br /> И запустите vahssite.ru/test-mail.php<br /> Если почта с темой "Проверяем почту" - не пришла, значит проблема в хостинге и вам нужно написать в тех.поддержку хостинга, сообщите им что письма не приходят с сервера.<br /> SMTP сервер для mail.ru ssl://smtp.mail.ru 9452ba1dcb67f50ae65655afbbd056b6fadc19ae Параметры элементов модели 0 65 379 2016-01-08T22:12:05Z Abushyk 2 Новая страница: «Тонкая настройка элементов модели может производиться указанием специфичных параметро…» wikitext text/x-wiki Тонкая настройка элементов модели может производиться указанием специфичных параметров. Указание параметров производится в форме редактирования элемента модели в секции Параметры, где можно указать нужные параметры в виде пар значений - имя параметра, значение параметра. textarea_editor width - ширина элемента редактора в пикселях. Любое целое число. textarea rows - высота поля текстового ввода в строках. Любое целое число. cols - ширина поля текстового ввода в символах. Любое целое число. lined modal_input datetime inFormFormat format noSeconds docuploads max_file_size - Максимальный размер загружаемого файла в мегабайтах. accepted - перечень допустимых расширений файлов для загрузки. Текстовое. Указывается в виде .doc,.xls,.pdf без пробелов. dtdate dtdatetime noSeconds dttime noSeconds email аналогично safe_string gadres styles - строка стилей css в таком виде, как если бы они задавались inline. geodata map_width - ширина карты указания координат в пикселях. map_height - высота карты указания координат в пикселях. map_view_type - тип подложки карты (m-карта|h-гибрид|s-спутник|p-народная карта(только для Yandex Maps)) confields - список полей модели, изменение которых будет провоцировать авторазмещение маркера на карте согласно данных, указанных в этих полях. mobilephone mask - маска поля в виде строки h (hhh) hhh-hh-hh safe_string styles onclick onchange select_box_by_query linked depended autocomplete autocomplete_notappend autocomplete_dep_el autocomplete_dep_el_key onchange 7fed18c3105a17f6105cd7f00b1b8d1c0fac66ab 380 379 2016-01-08T22:32:08Z Abushyk 2 wikitext text/x-wiki Тонкая настройка элементов модели может производиться указанием специфичных параметров. Указание параметров производится в форме редактирования элемента модели в секции Параметры, где можно указать нужные параметры в виде пар значений - имя параметра, значение параметра. == textarea_editor == width - ширина элемента редактора в пикселях. Любое целое число. == textarea == rows - высота поля текстового ввода в строках. Любое целое число. cols - ширина поля текстового ввода в символах. Любое целое число. lined modal_input allow_htmltags == datetime == inFormFormat format noSeconds == docuploads == max_file_size - Максимальный размер загружаемого файла в мегабайтах. accepted - перечень допустимых расширений файлов для загрузки. Текстовое. Указывается в виде .doc,.xls,.pdf без пробелов. == dtdate == == dtdatetime == noSeconds == dttime == noSeconds == email == аналогично safe_string == gadres == styles - строка стилей css в таком виде, как если бы они задавались inline. == geodata == map_width - ширина карты указания координат в пикселях. map_height - высота карты указания координат в пикселях. map_view_type - тип подложки карты (m-карта|h-гибрид|s-спутник|p-народная карта(только для Yandex Maps)) confields - список полей модели, изменение которых будет провоцировать авторазмещение маркера на карте согласно данных, указанных в этих полях. == mobilephone == mask - маска поля в виде строки h (hhh) hhh-hh-hh == safe_string == styles onclick onchange == select_box_by_query == linked depended autocomplete autocomplete_notappend autocomplete_dep_el autocomplete_dep_el_key onchange == uploadify == button_name == uploads == accepted norm_width norm_height prev_width prev_height preview_smart_resizing {| class="wikitable" |- ! Текст заголовка !! Текст заголовка !! Текст заголовка |- | Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки |} 9399c911bd6a92a86c04fc3a7dbdeace9dabb3e4 Типы элементов форм 0 44 381 166 2016-01-08T22:35:41Z Abushyk 2 /* Типы элементов форм */ wikitext text/x-wiki === Типы элементов форм === primary_key safe_string hidden checkbox select_box_structure select_by_query select_entity select_box auto_add_value price textarea uploadify_image uploadify_file mobilephone password photo geodata structure textarea_editor date attachment tlocation captcha dtdatetime dtdate dttime uploads gadres client_id grade docuploads c2abecf9f4971d5c588bcebb5f9683c1ed950fb8 382 381 2016-01-08T22:36:04Z Abushyk 2 /* Типы элементов форм */ wikitext text/x-wiki primary_key safe_string hidden checkbox select_box_structure select_by_query select_entity select_box auto_add_value price textarea uploadify_image uploadify_file mobilephone password photo geodata structure textarea_editor date attachment tlocation captcha dtdatetime dtdate dttime uploads gadres client_id grade docuploads 29b56713945028601c07eafa8ff5614250b960cb 383 382 2016-01-08T22:37:06Z Abushyk 2 wikitext text/x-wiki primary_key == safe_string == Простой тип представляющий собой простую строку. == hidden == Тип скрытого поля == checkbox == Тип наличия выбора select_box_structure select_by_query select_entity select_box auto_add_value price textarea uploadify_image uploadify_file mobilephone password photo geodata structure textarea_editor date attachment tlocation captcha dtdatetime dtdate dttime uploads gadres client_id grade docuploads 10ae2b48bcfddb50b152a5df80c63fa661c0c624 384 383 2016-01-08T22:37:55Z Abushyk 2 wikitext text/x-wiki primary_key == safe_string == Простой тип представляющий собой простую строку. == hidden == Тип скрытого поля == checkbox == Тип наличия выбора select_box_structure select_by_query select_entity select_box auto_add_value price textarea == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов mobilephone password photo geodata structure textarea_editor date attachment tlocation captcha dtdatetime dtdate dttime == uploads == Коллекция медиаобъектов gadres client_id grade == docuploads == Коллекция медиаобъектов dabd62e0bbf5935e56d4986a2ee6e1c7fb801409 385 384 2016-01-11T21:25:05Z Abushyk 2 wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы. == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов == gadres == == client_id == == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов 3a00c06a2c63d624cfdb67c35a96d5b22614defa Приложение "RSS новостей сайта" 0 66 386 2016-01-24T19:29:32Z Abushyk 2 Новая страница: «== Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенны…» wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенных для быстрого информирования клиентов о новых поступлениях на сайте. Приложение формирует два фида - для новостей и для объявлений. == Общая информация == Для фида новостей отбираются все новости в количестве длины фида отсортированные в порядке убывания даты добавления. Для фида новостей отбираются все активные объявления в количестве длины фида отсортированные в порядке убывания даты добавления. <br/> == Настройки == Включить экспорт RSS (apps.rss.enable) - включает\выключает работу модуля Название RSS канала (apps.rss.title) - Название RSS канала Описание RSS канала (apps.rss.description) - Описание RSS канала Код языка канала (apps.rss.language) - Код языка канала Название генератора RSS канала (apps.rss.generator) - Название генератора RSS канала Адрес электронной почты лица, ответственного за редакционное содержание (apps.rss.editor_email) - Адрес электронной почты лица, ответственного за редакционное содержание Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала (apps.rss.webmaster_email) - Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала Длинна RSS канала (apps.rss.length) - количество новостей выгружаемых в фид новостей Системное имя поля с текстом для новости (apps.rss.news_text) - системное имя поля модели news, которое будет расценено как описание новости. По умолчанию anons Системное имя поля фото новости (apps.rss.news_image) - системное имя поля модели news, которое будет расценено как сопровождающее новость фото. По умолчанию image Системное имя поля заголовка новости (apps.rss.news_title) - системное имя поля модели news, которое будет расценено как заголовок новости. По умолчанию title Разрешить RSS для объявлений (apps.rss.enable_realty) - разрешает\запрещает генерацию фида объявлений Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode) - устанавливает режим настроек фида объявлений. 0 - стандартный на усмотрение модуля, 1 - расширенный, разрешающий изменение стандартных полей. Системное имя поля фото объекта (apps.rss.data_image) - системное имя поля модели data, которое будет расценено как фото объекта. По умолчанию image. Применимо и в стандартном режиме, и в расширенном. Системное имя поля заголовка объекта (apps.rss.data_title) - системное имя поля модели data, которое будет расценено как заголовок объекта. В стандартном режиме не работает. Для заголовка используется заголовок аналогичный тому, который отображается на сайте в карточке объекта. В расширенном режиме при не указании или указании несуществующего поля будет применен алгоритм формирования заголовка как в стандартном режиме. Системное имя поля описания объекта (apps.rss.data_description) - системное имя поля модели data, которое будет расценено как описание объекта. В стандартном режиме не работает. Для описания используется автосформированный набор данных из модели изменить или отформатировать который можно путем изменения шаблона /apps/rss/site/template/realty_view.tpl или его локальной копии. В расширенном режиме при не указании или указании несуществующего поля описание формироваться не будет. Максимальная длинна описания (apps.rss.data_description_max) - ограничение на длину описания взятого из поля, указанного настройкой apps.rss.data_description. Применяется только если эта настройка указана в виде числа большего нуля. Следует помнить, что если в тексте описания встречаются разметочные теги, то при отсутствии обрезки они будут входить в описание. Если же применить обрезку, то перед укорачиванием описания все теги будут вырезаны. Список системных имен полей для описания объекта (apps.rss.data_descriptionfields) - набор системных полей модели data, которые дополнят описание. Например можно задать строку вида country_id,region_id и тогда в шаблоне формирующем дополнительную часть описания (/apps/rss/site/template/realty_view_ext.tpl) можно будет получить вывод этих параметров в автовыводе, либо организовать его самому. Важно помнить, что в расширенном режиме идет сжатая выборка данных, поэтому получить доступ к каким либо полям, которые не указаны в этой настройке, будет нельзя. Следовательно, если вам нужно вывести некоторые данные в описание, укажите их в этой настройке. Системное имя поля даты размещения объекта (apps.rss.data_date) - системное имя поля модели data, которое будет использовано как дата добавления объекта. Явного функционала эта настройка не имеет в данный момент. При не указании используется стандартное data_added. Длинна RSS канала объявлений (apps.rss.data_length) - количество объявлений выгружаемых в фид объявлений. d89f9e567af9e89eb3755ad90e437d28f1d98089 387 386 2016-01-24T19:31:08Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенных для быстрого информирования клиентов о новых поступлениях на сайте. Приложение формирует два фида - для новостей и для объявлений. == Общая информация == Для фида новостей отбираются все новости в количестве длины фида отсортированные в порядке убывания даты добавления. Для фида новостей отбираются все активные объявления в количестве длины фида отсортированные в порядке убывания даты добавления. <br/> == Настройки == Включить экспорт RSS (apps.rss.enable) - включает\выключает работу модуля '''Название RSS канала (apps.rss.title)''' - Название RSS канала '''Описание RSS канала (apps.rss.description)''' - Описание RSS канала '''Код языка канала (apps.rss.language)''' - Код языка канала '''Название генератора RSS канала (apps.rss.generator)''' - Название генератора RSS канала '''Адрес электронной почты лица, ответственного за редакционное содержание (apps.rss.editor_email)''' - Адрес электронной почты лица, ответственного за редакционное содержание '''Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала (apps.rss.webmaster_email)''' - Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала '''Длинна RSS канала (apps.rss.length)''' - количество новостей выгружаемых в фид новостей '''Системное имя поля с текстом для новости (apps.rss.news_text)''' - системное имя поля модели news, которое будет расценено как описание новости. По умолчанию anons '''Системное имя поля фото новости (apps.rss.news_image)''' - системное имя поля модели news, которое будет расценено как сопровождающее новость фото. По умолчанию image '''Системное имя поля заголовка новости (apps.rss.news_title)''' - системное имя поля модели news, которое будет расценено как заголовок новости. По умолчанию title '''Разрешить RSS для объявлений (apps.rss.enable_realty)''' - разрешает\запрещает генерацию фида объявлений '''Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode)''' - устанавливает режим настроек фида объявлений. 0 - стандартный на усмотрение модуля, 1 - расширенный, разрешающий изменение стандартных полей. '''Системное имя поля фото объекта (apps.rss.data_image)''' - системное имя поля модели data, которое будет расценено как фото объекта. По умолчанию image. Применимо и в стандартном режиме, и в расширенном. '''Системное имя поля заголовка объекта (apps.rss.data_title)''' - системное имя поля модели data, которое будет расценено как заголовок объекта. В стандартном режиме не работает. Для заголовка используется заголовок аналогичный тому, который отображается на сайте в карточке объекта. В расширенном режиме при не указании или указании несуществующего поля будет применен алгоритм формирования заголовка как в стандартном режиме. '''Системное имя поля описания объекта (apps.rss.data_description)''' - системное имя поля модели data, которое будет расценено как описание объекта. В стандартном режиме не работает. Для описания используется автосформированный набор данных из модели изменить или отформатировать который можно путем изменения шаблона /apps/rss/site/template/realty_view.tpl или его локальной копии. В расширенном режиме при не указании или указании несуществующего поля описание формироваться не будет. '''Максимальная длинна описания (apps.rss.data_description_max)''' - ограничение на длину описания взятого из поля, указанного настройкой apps.rss.data_description. Применяется только если эта настройка указана в виде числа большего нуля. Следует помнить, что если в тексте описания встречаются разметочные теги, то при отсутствии обрезки они будут входить в описание. Если же применить обрезку, то перед укорачиванием описания все теги будут вырезаны. '''Список системных имен полей для описания объекта (apps.rss.data_descriptionfields)''' - набор системных полей модели data, которые дополнят описание. Например можно задать строку вида country_id,region_id и тогда в шаблоне формирующем дополнительную часть описания (/apps/rss/site/template/realty_view_ext.tpl) можно будет получить вывод этих параметров в автовыводе, либо организовать его самому. Важно помнить, что в расширенном режиме идет сжатая выборка данных, поэтому получить доступ к каким либо полям, которые не указаны в этой настройке, будет нельзя. Следовательно, если вам нужно вывести некоторые данные в описание, укажите их в этой настройке. '''Системное имя поля даты размещения объекта (apps.rss.data_date)''' - системное имя поля модели data, которое будет использовано как дата добавления объекта. Явного функционала эта настройка не имеет в данный момент. При не указании используется стандартное data_added. Длинна RSS канала объявлений (apps.rss.data_length) - количество объявлений выгружаемых в фид объявлений. 000a840513e9bd3ec4ecfb0128e0c35f3331c71f 388 387 2016-01-24T19:31:53Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенных для быстрого информирования клиентов о новых поступлениях на сайте. Приложение формирует два фида - для новостей и для объявлений. == Общая информация == Для фида новостей отбираются все новости в количестве длины фида отсортированные в порядке убывания даты добавления. Для фида новостей отбираются все активные объявления в количестве длины фида отсортированные в порядке убывания даты добавления. <br/> == Настройки == '''Включить экспорт RSS (apps.rss.enable)''' - включает\выключает работу модуля<br /> '''Название RSS канала (apps.rss.title)''' - Название RSS канала<br /> '''Описание RSS канала (apps.rss.description)''' - Описание RSS канала<br /> '''Код языка канала (apps.rss.language)''' - Код языка канала<br /> '''Название генератора RSS канала (apps.rss.generator)''' - Название генератора RSS канала<br /> '''Адрес электронной почты лица, ответственного за редакционное содержание (apps.rss.editor_email)''' - Адрес электронной почты лица, ответственного за редакционное содержание<br /> '''Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала (apps.rss.webmaster_email)''' - Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала<br /> '''Длинна RSS канала (apps.rss.length)''' - количество новостей выгружаемых в фид новостей '''Системное имя поля с текстом для новости (apps.rss.news_text)''' - системное имя поля модели news, которое будет расценено как описание новости. По умолчанию anons '''Системное имя поля фото новости (apps.rss.news_image)''' - системное имя поля модели news, которое будет расценено как сопровождающее новость фото. По умолчанию image '''Системное имя поля заголовка новости (apps.rss.news_title)''' - системное имя поля модели news, которое будет расценено как заголовок новости. По умолчанию title '''Разрешить RSS для объявлений (apps.rss.enable_realty)''' - разрешает\запрещает генерацию фида объявлений<br /> '''Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode)''' - устанавливает режим настроек фида объявлений. 0 - стандартный на усмотрение модуля, 1 - расширенный, разрешающий изменение стандартных полей.<br /> '''Системное имя поля фото объекта (apps.rss.data_image)''' - системное имя поля модели data, которое будет расценено как фото объекта. По умолчанию image. Применимо и в стандартном режиме, и в расширенном.<br /> '''Системное имя поля заголовка объекта (apps.rss.data_title)''' - системное имя поля модели data, которое будет расценено как заголовок объекта. В стандартном режиме не работает. Для заголовка используется заголовок аналогичный тому, который отображается на сайте в карточке объекта. В расширенном режиме при не указании или указании несуществующего поля будет применен алгоритм формирования заголовка как в стандартном режиме.<br /> '''Системное имя поля описания объекта (apps.rss.data_description)''' - системное имя поля модели data, которое будет расценено как описание объекта. В стандартном режиме не работает. Для описания используется автосформированный набор данных из модели изменить или отформатировать который можно путем изменения шаблона /apps/rss/site/template/realty_view.tpl или его локальной копии. В расширенном режиме при не указании или указании несуществующего поля описание формироваться не будет.<br /> '''Максимальная длинна описания (apps.rss.data_description_max)''' - ограничение на длину описания взятого из поля, указанного настройкой apps.rss.data_description. Применяется только если эта настройка указана в виде числа большего нуля. Следует помнить, что если в тексте описания встречаются разметочные теги, то при отсутствии обрезки они будут входить в описание. Если же применить обрезку, то перед укорачиванием описания все теги будут вырезаны.<br /> '''Список системных имен полей для описания объекта (apps.rss.data_descriptionfields)''' - набор системных полей модели data, которые дополнят описание. Например можно задать строку вида country_id,region_id и тогда в шаблоне формирующем дополнительную часть описания (/apps/rss/site/template/realty_view_ext.tpl) можно будет получить вывод этих параметров в автовыводе, либо организовать его самому. Важно помнить, что в расширенном режиме идет сжатая выборка данных, поэтому получить доступ к каким либо полям, которые не указаны в этой настройке, будет нельзя. Следовательно, если вам нужно вывести некоторые данные в описание, укажите их в этой настройке.<br /> '''Системное имя поля даты размещения объекта (apps.rss.data_date)''' - системное имя поля модели data, которое будет использовано как дата добавления объекта. Явного функционала эта настройка не имеет в данный момент. При не указании используется стандартное data_added. Длинна RSS канала объявлений (apps.rss.data_length) - количество объявлений выгружаемых в фид объявлений. b2a553942d41606fe9ce2ef912847d7169f3df29 390 388 2016-01-24T19:33:36Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенных для быстрого информирования клиентов о новых поступлениях на сайте. Приложение формирует два фида - для новостей и для объявлений. == Общая информация == Для фида новостей отбираются все новости в количестве длины фида отсортированные в порядке убывания даты добавления. Для фида новостей отбираются все активные объявления в количестве длины фида отсортированные в порядке убывания даты добавления. <br/> == Настройки == '''Включить экспорт RSS (apps.rss.enable)''' - включает\выключает работу модуля<br /> '''Название RSS канала (apps.rss.title)''' - Название RSS канала<br /> '''Описание RSS канала (apps.rss.description)''' - Описание RSS канала<br /> '''Код языка канала (apps.rss.language)''' - Код языка канала<br /> '''Название генератора RSS канала (apps.rss.generator)''' - Название генератора RSS канала<br /> '''Адрес электронной почты лица, ответственного за редакционное содержание (apps.rss.editor_email)''' - Адрес электронной почты лица, ответственного за редакционное содержание<br /> '''Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала (apps.rss.webmaster_email)''' - Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала<br /> '''Длинна RSS канала (apps.rss.length)''' - количество новостей выгружаемых в фид новостей '''Системное имя поля с текстом для новости (apps.rss.news_text)''' - системное имя поля модели news, которое будет расценено как описание новости. По умолчанию anons '''Системное имя поля фото новости (apps.rss.news_image)''' - системное имя поля модели news, которое будет расценено как сопровождающее новость фото. По умолчанию image '''Системное имя поля заголовка новости (apps.rss.news_title)''' - системное имя поля модели news, которое будет расценено как заголовок новости. По умолчанию title '''Разрешить RSS для объявлений (apps.rss.enable_realty)''' - разрешает\запрещает генерацию фида объявлений<br /> '''Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode)''' - устанавливает режим настроек фида объявлений. 0 - стандартный на усмотрение модуля, 1 - расширенный, разрешающий изменение стандартных полей.<br /> '''Системное имя поля фото объекта (apps.rss.data_image)''' - системное имя поля модели data, которое будет расценено как фото объекта. По умолчанию image. Применимо и в стандартном режиме, и в расширенном.<br /> '''Системное имя поля заголовка объекта (apps.rss.data_title)''' - системное имя поля модели data, которое будет расценено как заголовок объекта. В стандартном режиме не работает. Для заголовка используется заголовок аналогичный тому, который отображается на сайте в карточке объекта. В расширенном режиме при не указании или указании несуществующего поля будет применен алгоритм формирования заголовка как в стандартном режиме.<br /> '''Системное имя поля описания объекта (apps.rss.data_description)''' - системное имя поля модели data, которое будет расценено как описание объекта. В стандартном режиме не работает. Для описания используется автосформированный набор данных из модели изменить или отформатировать который можно путем изменения шаблона /apps/rss/site/template/realty_view.tpl или его локальной копии. В расширенном режиме при не указании или указании несуществующего поля описание формироваться не будет.<br /> '''Максимальная длинна описания (apps.rss.data_description_max)''' - ограничение на длину описания взятого из поля, указанного настройкой apps.rss.data_description. Применяется только если эта настройка указана в виде числа большего нуля. Следует помнить, что если в тексте описания встречаются разметочные теги, то при отсутствии обрезки они будут входить в описание. Если же применить обрезку, то перед укорачиванием описания все теги будут вырезаны.<br /> '''Список системных имен полей для описания объекта (apps.rss.data_descriptionfields)''' - набор системных полей модели data, которые дополнят описание. Например можно задать строку вида <pre>country_id,region_id</pre> и тогда в шаблоне формирующем дополнительную часть описания (/apps/rss/site/template/realty_view_ext.tpl) можно будет получить вывод этих параметров в автовыводе, либо организовать его самому. Важно помнить, что в расширенном режиме идет сжатая выборка данных, поэтому получить доступ к каким либо полям, которые не указаны в этой настройке, будет нельзя. Следовательно, если вам нужно вывести некоторые данные в описание, укажите их в этой настройке.<br /> '''Системное имя поля даты размещения объекта (apps.rss.data_date)''' - системное имя поля модели data, которое будет использовано как дата добавления объекта. Явного функционала эта настройка не имеет в данный момент. При не указании используется стандартное data_added.<br /> '''Длинна RSS канала объявлений (apps.rss.data_length)''' - количество объявлений выгружаемых в фид объявлений. 6853d83459ce9393a9c1bddf1ccc90415da43fff 391 390 2016-01-24T19:34:13Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенных для быстрого информирования клиентов о новых поступлениях на сайте. Приложение формирует два фида - для новостей и для объявлений. == Общая информация == Для фида новостей отбираются все новости в количестве длины фида отсортированные в порядке убывания даты добавления. Для фида новостей отбираются все активные объявления в количестве длины фида отсортированные в порядке убывания даты добавления. <br/> == Настройки == '''Включить экспорт RSS (apps.rss.enable)''' - включает\выключает работу модуля<br /> '''Название RSS канала (apps.rss.title)''' - Название RSS канала<br /> '''Описание RSS канала (apps.rss.description)''' - Описание RSS канала<br /> '''Код языка канала (apps.rss.language)''' - Код языка канала<br /> '''Название генератора RSS канала (apps.rss.generator)''' - Название генератора RSS канала<br /> '''Адрес электронной почты лица, ответственного за редакционное содержание (apps.rss.editor_email)''' - Адрес электронной почты лица, ответственного за редакционное содержание<br /> '''Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала (apps.rss.webmaster_email)''' - Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала<br /> '''Длинна RSS канала (apps.rss.length)''' - количество новостей выгружаемых в фид новостей<br /> '''Системное имя поля с текстом для новости (apps.rss.news_text)''' - системное имя поля модели news, которое будет расценено как описание новости. По умолчанию anons<br /> '''Системное имя поля фото новости (apps.rss.news_image)''' - системное имя поля модели news, которое будет расценено как сопровождающее новость фото. По умолчанию image<br /> '''Системное имя поля заголовка новости (apps.rss.news_title)''' - системное имя поля модели news, которое будет расценено как заголовок новости. По умолчанию title<br /> '''Разрешить RSS для объявлений (apps.rss.enable_realty)''' - разрешает\запрещает генерацию фида объявлений<br /> '''Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode)''' - устанавливает режим настроек фида объявлений. 0 - стандартный на усмотрение модуля, 1 - расширенный, разрешающий изменение стандартных полей.<br /> '''Системное имя поля фото объекта (apps.rss.data_image)''' - системное имя поля модели data, которое будет расценено как фото объекта. По умолчанию image. Применимо и в стандартном режиме, и в расширенном.<br /> '''Системное имя поля заголовка объекта (apps.rss.data_title)''' - системное имя поля модели data, которое будет расценено как заголовок объекта. В стандартном режиме не работает. Для заголовка используется заголовок аналогичный тому, который отображается на сайте в карточке объекта. В расширенном режиме при не указании или указании несуществующего поля будет применен алгоритм формирования заголовка как в стандартном режиме.<br /> '''Системное имя поля описания объекта (apps.rss.data_description)''' - системное имя поля модели data, которое будет расценено как описание объекта. В стандартном режиме не работает. Для описания используется автосформированный набор данных из модели изменить или отформатировать который можно путем изменения шаблона /apps/rss/site/template/realty_view.tpl или его локальной копии. В расширенном режиме при не указании или указании несуществующего поля описание формироваться не будет.<br /> '''Максимальная длинна описания (apps.rss.data_description_max)''' - ограничение на длину описания взятого из поля, указанного настройкой apps.rss.data_description. Применяется только если эта настройка указана в виде числа большего нуля. Следует помнить, что если в тексте описания встречаются разметочные теги, то при отсутствии обрезки они будут входить в описание. Если же применить обрезку, то перед укорачиванием описания все теги будут вырезаны.<br /> '''Список системных имен полей для описания объекта (apps.rss.data_descriptionfields)''' - набор системных полей модели data, которые дополнят описание. Например можно задать строку вида <pre>country_id,region_id</pre> и тогда в шаблоне формирующем дополнительную часть описания (/apps/rss/site/template/realty_view_ext.tpl) можно будет получить вывод этих параметров в автовыводе, либо организовать его самому. Важно помнить, что в расширенном режиме идет сжатая выборка данных, поэтому получить доступ к каким либо полям, которые не указаны в этой настройке, будет нельзя. Следовательно, если вам нужно вывести некоторые данные в описание, укажите их в этой настройке.<br /> '''Системное имя поля даты размещения объекта (apps.rss.data_date)''' - системное имя поля модели data, которое будет использовано как дата добавления объекта. Явного функционала эта настройка не имеет в данный момент. При не указании используется стандартное data_added.<br /> '''Длинна RSS канала объявлений (apps.rss.data_length)''' - количество объявлений выгружаемых в фид объявлений. 420fb7f57ecee5606ba95e23feb39abc8e068d57 393 391 2016-01-30T21:28:11Z Abushyk 2 /* Настройки */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенных для быстрого информирования клиентов о новых поступлениях на сайте. Приложение формирует два фида - для новостей и для объявлений. == Общая информация == Для фида новостей отбираются все новости в количестве длины фида отсортированные в порядке убывания даты добавления. Для фида новостей отбираются все активные объявления в количестве длины фида отсортированные в порядке убывания даты добавления. <br/> == Настройки == === Общие === '''Включить экспорт RSS (apps.rss.enable)''' - включает\выключает работу модуля<br /> '''Название RSS канала (apps.rss.title)''' - Название RSS канала<br /> '''Описание RSS канала (apps.rss.description)''' - Описание RSS канала<br /> '''Код языка канала (apps.rss.language)''' - Код языка канала<br /> '''Название генератора RSS канала (apps.rss.generator)''' - Название генератора RSS канала<br /> '''Адрес электронной почты лица, ответственного за редакционное содержание (apps.rss.editor_email)''' - Адрес электронной почты лица, ответственного за редакционное содержание<br /> '''Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала (apps.rss.webmaster_email)''' - Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала<br /> '''Длинна RSS канала (apps.rss.length)''' - количество новостей выгружаемых в фид новостей<br /> === Новости === '''Системное имя поля с текстом для новости (apps.rss.news_text)''' - системное имя поля модели news, которое будет расценено как описание новости. По умолчанию anons<br /> '''Системное имя поля фото новости (apps.rss.news_image)''' - системное имя поля модели news, которое будет расценено как сопровождающее новость фото. По умолчанию image<br /> '''Системное имя поля заголовка новости (apps.rss.news_title)''' - системное имя поля модели news, которое будет расценено как заголовок новости. По умолчанию title<br /> === Объявления === '''Разрешить RSS для объявлений (apps.rss.enable_realty)''' - разрешает\запрещает генерацию фида объявлений<br /> '''Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode)''' - устанавливает режим настроек фида объявлений. 0 - стандартный на усмотрение модуля, 1 - расширенный, разрешающий изменение стандартных полей.<br /> '''Системное имя поля фото объекта (apps.rss.data_image)''' - системное имя поля модели data, которое будет расценено как фото объекта. По умолчанию image. Применимо и в стандартном режиме, и в расширенном.<br /> '''Системное имя поля заголовка объекта (apps.rss.data_title)''' - системное имя поля модели data, которое будет расценено как заголовок объекта. В стандартном режиме не работает. Для заголовка используется заголовок аналогичный тому, который отображается на сайте в карточке объекта. В расширенном режиме при не указании или указании несуществующего поля будет применен алгоритм формирования заголовка как в стандартном режиме.<br /> '''Системное имя поля описания объекта (apps.rss.data_description)''' - системное имя поля модели data, которое будет расценено как описание объекта. В стандартном режиме не работает. Для описания используется автосформированный набор данных из модели изменить или отформатировать который можно путем изменения шаблона /apps/rss/site/template/realty_view.tpl или его локальной копии. В расширенном режиме при не указании или указании несуществующего поля описание формироваться не будет.<br /> '''Максимальная длинна описания (apps.rss.data_description_max)''' - ограничение на длину описания взятого из поля, указанного настройкой apps.rss.data_description. Применяется только если эта настройка указана в виде числа большего нуля. Следует помнить, что если в тексте описания встречаются разметочные теги, то при отсутствии обрезки они будут входить в описание. Если же применить обрезку, то перед укорачиванием описания все теги будут вырезаны.<br /> '''Список системных имен полей для описания объекта (apps.rss.data_descriptionfields)''' - набор системных полей модели data, которые дополнят описание. Например можно задать строку вида <pre>country_id,region_id</pre> и тогда в шаблоне формирующем дополнительную часть описания (/apps/rss/site/template/realty_view_ext.tpl) можно будет получить вывод этих параметров в автовыводе, либо организовать его самому. Важно помнить, что в расширенном режиме идет сжатая выборка данных, поэтому получить доступ к каким либо полям, которые не указаны в этой настройке, будет нельзя. Следовательно, если вам нужно вывести некоторые данные в описание, укажите их в этой настройке.<br /> '''Системное имя поля даты размещения объекта (apps.rss.data_date)''' - системное имя поля модели data, которое будет использовано как дата добавления объекта. Явного функционала эта настройка не имеет в данный момент. При не указании используется стандартное data_added.<br /> '''Длинна RSS канала объявлений (apps.rss.data_length)''' - количество объявлений выгружаемых в фид объявлений. === Статьи === 4d6f9b33ac49d0e737a5a5384eb33633d0bb4a05 394 393 2016-01-30T21:41:25Z Abushyk 2 /* Настройки */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенных для быстрого информирования клиентов о новых поступлениях на сайте. Приложение формирует два фида - для новостей и для объявлений. == Общая информация == Для фида новостей отбираются все новости в количестве длины фида отсортированные в порядке убывания даты добавления. Для фида новостей отбираются все активные объявления в количестве длины фида отсортированные в порядке убывания даты добавления. <br/> == Настройки == === Общие === '''Включить экспорт RSS (apps.rss.enable)''' - включает\выключает работу модуля<br /> '''Название RSS канала (apps.rss.title)''' - Название RSS канала<br /> '''Описание RSS канала (apps.rss.description)''' - Описание RSS канала<br /> '''Код языка канала (apps.rss.language)''' - Код языка канала<br /> '''Название генератора RSS канала (apps.rss.generator)''' - Название генератора RSS канала<br /> '''Адрес электронной почты лица, ответственного за редакционное содержание (apps.rss.editor_email)''' - Адрес электронной почты лица, ответственного за редакционное содержание<br /> '''Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала (apps.rss.webmaster_email)''' - Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала<br /> '''Длинна RSS канала (apps.rss.length)''' - количество новостей выгружаемых в фид новостей<br /> === Новости === '''Системное имя поля с текстом для новости (apps.rss.news_text)''' - системное имя поля модели news, которое будет расценено как описание новости. По умолчанию anons<br /> '''Системное имя поля фото новости (apps.rss.news_image)''' - системное имя поля модели news, которое будет расценено как сопровождающее новость фото. По умолчанию image<br /> '''Системное имя поля заголовка новости (apps.rss.news_title)''' - системное имя поля модели news, которое будет расценено как заголовок новости. По умолчанию title<br /> === Объявления === '''Разрешить RSS для объявлений (apps.rss.enable_realty)''' - разрешает\запрещает генерацию фида объявлений<br /> '''Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode)''' - устанавливает режим настроек фида объявлений. 0 - стандартный на усмотрение модуля, 1 - расширенный, разрешающий изменение стандартных полей.<br /> '''Системное имя поля фото объекта (apps.rss.data_image)''' - системное имя поля модели data, которое будет расценено как фото объекта. По умолчанию image. Применимо и в стандартном режиме, и в расширенном.<br /> '''Системное имя поля заголовка объекта (apps.rss.data_title)''' - системное имя поля модели data, которое будет расценено как заголовок объекта. В стандартном режиме не работает. Для заголовка используется заголовок аналогичный тому, который отображается на сайте в карточке объекта. В расширенном режиме при не указании или указании несуществующего поля будет применен алгоритм формирования заголовка как в стандартном режиме.<br /> '''Системное имя поля описания объекта (apps.rss.data_description)''' - системное имя поля модели data, которое будет расценено как описание объекта. В стандартном режиме не работает. Для описания используется автосформированный набор данных из модели изменить или отформатировать который можно путем изменения шаблона /apps/rss/site/template/realty_view.tpl или его локальной копии. В расширенном режиме при не указании или указании несуществующего поля описание формироваться не будет.<br /> '''Максимальная длинна описания (apps.rss.data_description_max)''' - ограничение на длину описания взятого из поля, указанного настройкой apps.rss.data_description. Применяется только если эта настройка указана в виде числа большего нуля. Следует помнить, что если в тексте описания встречаются разметочные теги, то при отсутствии обрезки они будут входить в описание. Если же применить обрезку, то перед укорачиванием описания все теги будут вырезаны.<br /> '''Список системных имен полей для описания объекта (apps.rss.data_descriptionfields)''' - набор системных полей модели data, которые дополнят описание. Например можно задать строку вида <pre>country_id,region_id</pre> и тогда в шаблоне формирующем дополнительную часть описания (/apps/rss/site/template/realty_view_ext.tpl) можно будет получить вывод этих параметров в автовыводе, либо организовать его самому. Важно помнить, что в расширенном режиме идет сжатая выборка данных, поэтому получить доступ к каким либо полям, которые не указаны в этой настройке, будет нельзя. Следовательно, если вам нужно вывести некоторые данные в описание, укажите их в этой настройке.<br /> '''Системное имя поля даты размещения объекта (apps.rss.data_date)''' - системное имя поля модели data, которое будет использовано как дата добавления объекта. Явного функционала эта настройка не имеет в данный момент. При не указании используется стандартное data_added.<br /> '''Длинна RSS канала объявлений (apps.rss.data_length)''' - количество объявлений выгружаемых в фид объявлений. === Статьи === '''Системное имя поля описания статьи (apps.rss.articles_text)''' - системное имя поля модели article, которое будет расценено как описание статьи. По умолчанию anons<br /> '''Системное имя поля изображения статьи (apps.rss.articles_image)''' - системное имя поля модели article, которое будет расценено как сопровождающее статью фото. По умолчанию отсутствует<br /> '''Системное имя поля заголовка статьи (apps.rss.articles_title)''' - системное имя поля модели article, которое будет расценено как заголовок статьи. По умолчанию title<br /> 18f8f6839d18e2dca600aa2e4efe9ab5aefa14c9 395 394 2016-01-30T21:44:18Z Abushyk 2 /* Настройки */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенных для быстрого информирования клиентов о новых поступлениях на сайте. Приложение формирует два фида - для новостей и для объявлений. == Общая информация == Для фида новостей отбираются все новости в количестве длины фида отсортированные в порядке убывания даты добавления. Для фида новостей отбираются все активные объявления в количестве длины фида отсортированные в порядке убывания даты добавления. <br/> == Настройки == === Общие === '''Включить экспорт RSS (apps.rss.enable)''' - включает\выключает работу модуля<br /> '''Название RSS канала (apps.rss.title)''' - Название RSS канала<br /> '''Описание RSS канала (apps.rss.description)''' - Описание RSS канала<br /> '''Код языка канала (apps.rss.language)''' - Код языка канала<br /> '''Название генератора RSS канала (apps.rss.generator)''' - Название генератора RSS канала<br /> '''Адрес электронной почты лица, ответственного за редакционное содержание (apps.rss.editor_email)''' - Адрес электронной почты лица, ответственного за редакционное содержание<br /> '''Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала (apps.rss.webmaster_email)''' - Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала<br /> '''Длинна RSS канала (apps.rss.length)''' - количество новостей выгружаемых в фид новостей<br /> === Новости === '''Системное имя поля с текстом для новости (apps.rss.news_text)''' - системное имя поля модели news, которое будет расценено как описание новости. По умолчанию anons<br /> '''Системное имя поля фото новости (apps.rss.news_image)''' - системное имя поля модели news, которое будет расценено как сопровождающее новость фото. По умолчанию image<br /> '''Системное имя поля заголовка новости (apps.rss.news_title)''' - системное имя поля модели news, которое будет расценено как заголовок новости. По умолчанию title<br /> '''Время кеширование в секундах для фида новостей (apps.rss.news_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования.<br /> === Объявления === '''Разрешить RSS для объявлений (apps.rss.enable_realty)''' - разрешает\запрещает генерацию фида объявлений<br /> '''Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode)''' - устанавливает режим настроек фида объявлений. 0 - стандартный на усмотрение модуля, 1 - расширенный, разрешающий изменение стандартных полей.<br /> '''Системное имя поля фото объекта (apps.rss.data_image)''' - системное имя поля модели data, которое будет расценено как фото объекта. По умолчанию image. Применимо и в стандартном режиме, и в расширенном.<br /> '''Системное имя поля заголовка объекта (apps.rss.data_title)''' - системное имя поля модели data, которое будет расценено как заголовок объекта. В стандартном режиме не работает. Для заголовка используется заголовок аналогичный тому, который отображается на сайте в карточке объекта. В расширенном режиме при не указании или указании несуществующего поля будет применен алгоритм формирования заголовка как в стандартном режиме.<br /> '''Системное имя поля описания объекта (apps.rss.data_description)''' - системное имя поля модели data, которое будет расценено как описание объекта. В стандартном режиме не работает. Для описания используется автосформированный набор данных из модели изменить или отформатировать который можно путем изменения шаблона /apps/rss/site/template/realty_view.tpl или его локальной копии. В расширенном режиме при не указании или указании несуществующего поля описание формироваться не будет.<br /> '''Максимальная длинна описания (apps.rss.data_description_max)''' - ограничение на длину описания взятого из поля, указанного настройкой apps.rss.data_description. Применяется только если эта настройка указана в виде числа большего нуля. Следует помнить, что если в тексте описания встречаются разметочные теги, то при отсутствии обрезки они будут входить в описание. Если же применить обрезку, то перед укорачиванием описания все теги будут вырезаны.<br /> '''Список системных имен полей для описания объекта (apps.rss.data_descriptionfields)''' - набор системных полей модели data, которые дополнят описание. Например можно задать строку вида <pre>country_id,region_id</pre> и тогда в шаблоне формирующем дополнительную часть описания (/apps/rss/site/template/realty_view_ext.tpl) можно будет получить вывод этих параметров в автовыводе, либо организовать его самому. Важно помнить, что в расширенном режиме идет сжатая выборка данных, поэтому получить доступ к каким либо полям, которые не указаны в этой настройке, будет нельзя. Следовательно, если вам нужно вывести некоторые данные в описание, укажите их в этой настройке.<br /> '''Системное имя поля даты размещения объекта (apps.rss.data_date)''' - системное имя поля модели data, которое будет использовано как дата добавления объекта. Явного функционала эта настройка не имеет в данный момент. При не указании используется стандартное data_added.<br /> '''Длинна RSS канала объявлений (apps.rss.data_length)''' - количество объявлений выгружаемых в фид объявлений.<br /> '''Время кеширование в секундах для фида объявлений (apps.rss.data_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования.<br /> === Статьи === '''Системное имя поля описания статьи (apps.rss.articles_text)''' - системное имя поля модели article, которое будет расценено как описание статьи. По умолчанию anons<br /> '''Системное имя поля изображения статьи (apps.rss.articles_image)''' - системное имя поля модели article, которое будет расценено как сопровождающее статью фото. По умолчанию отсутствует<br /> '''Системное имя поля заголовка статьи (apps.rss.articles_title)''' - системное имя поля модели article, которое будет расценено как заголовок статьи. По умолчанию title<br /> '''Длинна RSS канала статей (apps.rss.articles_length)''' - количество статей выгружаемых в фид.<br /> '''Время кеширование в секундах для фида статей (apps.rss.articles_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования. 4bb009cfa0c9430a899daf6621833b4e378ad33a 396 395 2016-01-30T21:45:55Z Abushyk 2 /* Общие */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенных для быстрого информирования клиентов о новых поступлениях на сайте. Приложение формирует два фида - для новостей и для объявлений. == Общая информация == Для фида новостей отбираются все новости в количестве длины фида отсортированные в порядке убывания даты добавления. Для фида новостей отбираются все активные объявления в количестве длины фида отсортированные в порядке убывания даты добавления. <br/> == Настройки == === Общие === '''Включить экспорт RSS (apps.rss.enable)''' - включает\выключает работу модуля<br /> '''Название RSS канала (apps.rss.title)''' - Название RSS канала<br /> '''Описание RSS канала (apps.rss.description)''' - Описание RSS канала<br /> '''Код языка канала (apps.rss.language)''' - Код языка канала<br /> '''Название генератора RSS канала (apps.rss.generator)''' - Название генератора RSS канала<br /> '''Адрес электронной почты лица, ответственного за редакционное содержание (apps.rss.editor_email)''' - Адрес электронной почты лица, ответственного за редакционное содержание. Указывается в виде имени email и имени лица. напр.: <pre>luksa@dallas.example.com (Frank Luksa)</pre> <br /> '''Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала (apps.rss.webmaster_email)''' - Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала<br /> '''Длинна RSS канала (apps.rss.length)''' - количество новостей выгружаемых в фид новостей<br /> === Новости === '''Системное имя поля с текстом для новости (apps.rss.news_text)''' - системное имя поля модели news, которое будет расценено как описание новости. По умолчанию anons<br /> '''Системное имя поля фото новости (apps.rss.news_image)''' - системное имя поля модели news, которое будет расценено как сопровождающее новость фото. По умолчанию image<br /> '''Системное имя поля заголовка новости (apps.rss.news_title)''' - системное имя поля модели news, которое будет расценено как заголовок новости. По умолчанию title<br /> '''Время кеширование в секундах для фида новостей (apps.rss.news_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования.<br /> === Объявления === '''Разрешить RSS для объявлений (apps.rss.enable_realty)''' - разрешает\запрещает генерацию фида объявлений<br /> '''Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode)''' - устанавливает режим настроек фида объявлений. 0 - стандартный на усмотрение модуля, 1 - расширенный, разрешающий изменение стандартных полей.<br /> '''Системное имя поля фото объекта (apps.rss.data_image)''' - системное имя поля модели data, которое будет расценено как фото объекта. По умолчанию image. Применимо и в стандартном режиме, и в расширенном.<br /> '''Системное имя поля заголовка объекта (apps.rss.data_title)''' - системное имя поля модели data, которое будет расценено как заголовок объекта. В стандартном режиме не работает. Для заголовка используется заголовок аналогичный тому, который отображается на сайте в карточке объекта. В расширенном режиме при не указании или указании несуществующего поля будет применен алгоритм формирования заголовка как в стандартном режиме.<br /> '''Системное имя поля описания объекта (apps.rss.data_description)''' - системное имя поля модели data, которое будет расценено как описание объекта. В стандартном режиме не работает. Для описания используется автосформированный набор данных из модели изменить или отформатировать который можно путем изменения шаблона /apps/rss/site/template/realty_view.tpl или его локальной копии. В расширенном режиме при не указании или указании несуществующего поля описание формироваться не будет.<br /> '''Максимальная длинна описания (apps.rss.data_description_max)''' - ограничение на длину описания взятого из поля, указанного настройкой apps.rss.data_description. Применяется только если эта настройка указана в виде числа большего нуля. Следует помнить, что если в тексте описания встречаются разметочные теги, то при отсутствии обрезки они будут входить в описание. Если же применить обрезку, то перед укорачиванием описания все теги будут вырезаны.<br /> '''Список системных имен полей для описания объекта (apps.rss.data_descriptionfields)''' - набор системных полей модели data, которые дополнят описание. Например можно задать строку вида <pre>country_id,region_id</pre> и тогда в шаблоне формирующем дополнительную часть описания (/apps/rss/site/template/realty_view_ext.tpl) можно будет получить вывод этих параметров в автовыводе, либо организовать его самому. Важно помнить, что в расширенном режиме идет сжатая выборка данных, поэтому получить доступ к каким либо полям, которые не указаны в этой настройке, будет нельзя. Следовательно, если вам нужно вывести некоторые данные в описание, укажите их в этой настройке.<br /> '''Системное имя поля даты размещения объекта (apps.rss.data_date)''' - системное имя поля модели data, которое будет использовано как дата добавления объекта. Явного функционала эта настройка не имеет в данный момент. При не указании используется стандартное data_added.<br /> '''Длинна RSS канала объявлений (apps.rss.data_length)''' - количество объявлений выгружаемых в фид объявлений.<br /> '''Время кеширование в секундах для фида объявлений (apps.rss.data_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования.<br /> === Статьи === '''Системное имя поля описания статьи (apps.rss.articles_text)''' - системное имя поля модели article, которое будет расценено как описание статьи. По умолчанию anons<br /> '''Системное имя поля изображения статьи (apps.rss.articles_image)''' - системное имя поля модели article, которое будет расценено как сопровождающее статью фото. По умолчанию отсутствует<br /> '''Системное имя поля заголовка статьи (apps.rss.articles_title)''' - системное имя поля модели article, которое будет расценено как заголовок статьи. По умолчанию title<br /> '''Длинна RSS канала статей (apps.rss.articles_length)''' - количество статей выгружаемых в фид.<br /> '''Время кеширование в секундах для фида статей (apps.rss.articles_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования. fcf1dde4a393853d89e143916358384727dd79ca 397 396 2016-01-30T21:46:12Z Abushyk 2 /* Общие */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенных для быстрого информирования клиентов о новых поступлениях на сайте. Приложение формирует два фида - для новостей и для объявлений. == Общая информация == Для фида новостей отбираются все новости в количестве длины фида отсортированные в порядке убывания даты добавления. Для фида новостей отбираются все активные объявления в количестве длины фида отсортированные в порядке убывания даты добавления. <br/> == Настройки == === Общие === '''Включить экспорт RSS (apps.rss.enable)''' - включает\выключает работу модуля<br /> '''Название RSS канала (apps.rss.title)''' - Название RSS канала<br /> '''Описание RSS канала (apps.rss.description)''' - Описание RSS канала<br /> '''Код языка канала (apps.rss.language)''' - Код языка канала<br /> '''Название генератора RSS канала (apps.rss.generator)''' - Название генератора RSS канала<br /> '''Адрес электронной почты лица, ответственного за редакционное содержание (apps.rss.editor_email)''' - Адрес электронной почты лица, ответственного за редакционное содержание. Указывается в виде имени email и имени лица. напр.: <pre>luksa@dallas.example.com (Frank Luksa)</pre><br /> '''Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала (apps.rss.webmaster_email)''' - Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала<br /> '''Длинна RSS канала (apps.rss.length)''' - количество новостей выгружаемых в фид новостей<br /> === Новости === '''Системное имя поля с текстом для новости (apps.rss.news_text)''' - системное имя поля модели news, которое будет расценено как описание новости. По умолчанию anons<br /> '''Системное имя поля фото новости (apps.rss.news_image)''' - системное имя поля модели news, которое будет расценено как сопровождающее новость фото. По умолчанию image<br /> '''Системное имя поля заголовка новости (apps.rss.news_title)''' - системное имя поля модели news, которое будет расценено как заголовок новости. По умолчанию title<br /> '''Время кеширование в секундах для фида новостей (apps.rss.news_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования.<br /> === Объявления === '''Разрешить RSS для объявлений (apps.rss.enable_realty)''' - разрешает\запрещает генерацию фида объявлений<br /> '''Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode)''' - устанавливает режим настроек фида объявлений. 0 - стандартный на усмотрение модуля, 1 - расширенный, разрешающий изменение стандартных полей.<br /> '''Системное имя поля фото объекта (apps.rss.data_image)''' - системное имя поля модели data, которое будет расценено как фото объекта. По умолчанию image. Применимо и в стандартном режиме, и в расширенном.<br /> '''Системное имя поля заголовка объекта (apps.rss.data_title)''' - системное имя поля модели data, которое будет расценено как заголовок объекта. В стандартном режиме не работает. Для заголовка используется заголовок аналогичный тому, который отображается на сайте в карточке объекта. В расширенном режиме при не указании или указании несуществующего поля будет применен алгоритм формирования заголовка как в стандартном режиме.<br /> '''Системное имя поля описания объекта (apps.rss.data_description)''' - системное имя поля модели data, которое будет расценено как описание объекта. В стандартном режиме не работает. Для описания используется автосформированный набор данных из модели изменить или отформатировать который можно путем изменения шаблона /apps/rss/site/template/realty_view.tpl или его локальной копии. В расширенном режиме при не указании или указании несуществующего поля описание формироваться не будет.<br /> '''Максимальная длинна описания (apps.rss.data_description_max)''' - ограничение на длину описания взятого из поля, указанного настройкой apps.rss.data_description. Применяется только если эта настройка указана в виде числа большего нуля. Следует помнить, что если в тексте описания встречаются разметочные теги, то при отсутствии обрезки они будут входить в описание. Если же применить обрезку, то перед укорачиванием описания все теги будут вырезаны.<br /> '''Список системных имен полей для описания объекта (apps.rss.data_descriptionfields)''' - набор системных полей модели data, которые дополнят описание. Например можно задать строку вида <pre>country_id,region_id</pre> и тогда в шаблоне формирующем дополнительную часть описания (/apps/rss/site/template/realty_view_ext.tpl) можно будет получить вывод этих параметров в автовыводе, либо организовать его самому. Важно помнить, что в расширенном режиме идет сжатая выборка данных, поэтому получить доступ к каким либо полям, которые не указаны в этой настройке, будет нельзя. Следовательно, если вам нужно вывести некоторые данные в описание, укажите их в этой настройке.<br /> '''Системное имя поля даты размещения объекта (apps.rss.data_date)''' - системное имя поля модели data, которое будет использовано как дата добавления объекта. Явного функционала эта настройка не имеет в данный момент. При не указании используется стандартное data_added.<br /> '''Длинна RSS канала объявлений (apps.rss.data_length)''' - количество объявлений выгружаемых в фид объявлений.<br /> '''Время кеширование в секундах для фида объявлений (apps.rss.data_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования.<br /> === Статьи === '''Системное имя поля описания статьи (apps.rss.articles_text)''' - системное имя поля модели article, которое будет расценено как описание статьи. По умолчанию anons<br /> '''Системное имя поля изображения статьи (apps.rss.articles_image)''' - системное имя поля модели article, которое будет расценено как сопровождающее статью фото. По умолчанию отсутствует<br /> '''Системное имя поля заголовка статьи (apps.rss.articles_title)''' - системное имя поля модели article, которое будет расценено как заголовок статьи. По умолчанию title<br /> '''Длинна RSS канала статей (apps.rss.articles_length)''' - количество статей выгружаемых в фид.<br /> '''Время кеширование в секундах для фида статей (apps.rss.articles_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования. 1a4ff7f1a142ef133395e947e7620f5ce0c9f83b 398 397 2016-01-30T21:46:59Z Abushyk 2 /* Общие */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенных для быстрого информирования клиентов о новых поступлениях на сайте. Приложение формирует два фида - для новостей и для объявлений. == Общая информация == Для фида новостей отбираются все новости в количестве длины фида отсортированные в порядке убывания даты добавления. Для фида новостей отбираются все активные объявления в количестве длины фида отсортированные в порядке убывания даты добавления. <br/> == Настройки == === Общие === '''Включить экспорт RSS (apps.rss.enable)''' - включает\выключает работу модуля<br /> '''Название RSS канала (apps.rss.title)''' - Название RSS канала<br /> '''Описание RSS канала (apps.rss.description)''' - Описание RSS канала<br /> '''Код языка канала (apps.rss.language)''' - Код языка канала<br /> '''Название генератора RSS канала (apps.rss.generator)''' - Название генератора RSS канала<br /> '''Адрес электронной почты лица, ответственного за редакционное содержание (apps.rss.editor_email)''' - Адрес электронной почты лица, ответственного за редакционное содержание. Указывается в виде имени email и имени лица. напр.: <pre>luksa@dallas.example.com (Frank Luksa)</pre><br /> '''Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала (apps.rss.webmaster_email)''' - Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала. Указывается в виде имени email и имени лица. напр.: <pre>luksa@dallas.example.com (Frank Luksa)</pre><br /> '''Длинна RSS канала (apps.rss.length)''' - количество новостей выгружаемых в фид новостей<br /> === Новости === '''Системное имя поля с текстом для новости (apps.rss.news_text)''' - системное имя поля модели news, которое будет расценено как описание новости. По умолчанию anons<br /> '''Системное имя поля фото новости (apps.rss.news_image)''' - системное имя поля модели news, которое будет расценено как сопровождающее новость фото. По умолчанию image<br /> '''Системное имя поля заголовка новости (apps.rss.news_title)''' - системное имя поля модели news, которое будет расценено как заголовок новости. По умолчанию title<br /> '''Время кеширование в секундах для фида новостей (apps.rss.news_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования.<br /> === Объявления === '''Разрешить RSS для объявлений (apps.rss.enable_realty)''' - разрешает\запрещает генерацию фида объявлений<br /> '''Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode)''' - устанавливает режим настроек фида объявлений. 0 - стандартный на усмотрение модуля, 1 - расширенный, разрешающий изменение стандартных полей.<br /> '''Системное имя поля фото объекта (apps.rss.data_image)''' - системное имя поля модели data, которое будет расценено как фото объекта. По умолчанию image. Применимо и в стандартном режиме, и в расширенном.<br /> '''Системное имя поля заголовка объекта (apps.rss.data_title)''' - системное имя поля модели data, которое будет расценено как заголовок объекта. В стандартном режиме не работает. Для заголовка используется заголовок аналогичный тому, который отображается на сайте в карточке объекта. В расширенном режиме при не указании или указании несуществующего поля будет применен алгоритм формирования заголовка как в стандартном режиме.<br /> '''Системное имя поля описания объекта (apps.rss.data_description)''' - системное имя поля модели data, которое будет расценено как описание объекта. В стандартном режиме не работает. Для описания используется автосформированный набор данных из модели изменить или отформатировать который можно путем изменения шаблона /apps/rss/site/template/realty_view.tpl или его локальной копии. В расширенном режиме при не указании или указании несуществующего поля описание формироваться не будет.<br /> '''Максимальная длинна описания (apps.rss.data_description_max)''' - ограничение на длину описания взятого из поля, указанного настройкой apps.rss.data_description. Применяется только если эта настройка указана в виде числа большего нуля. Следует помнить, что если в тексте описания встречаются разметочные теги, то при отсутствии обрезки они будут входить в описание. Если же применить обрезку, то перед укорачиванием описания все теги будут вырезаны.<br /> '''Список системных имен полей для описания объекта (apps.rss.data_descriptionfields)''' - набор системных полей модели data, которые дополнят описание. Например можно задать строку вида <pre>country_id,region_id</pre> и тогда в шаблоне формирующем дополнительную часть описания (/apps/rss/site/template/realty_view_ext.tpl) можно будет получить вывод этих параметров в автовыводе, либо организовать его самому. Важно помнить, что в расширенном режиме идет сжатая выборка данных, поэтому получить доступ к каким либо полям, которые не указаны в этой настройке, будет нельзя. Следовательно, если вам нужно вывести некоторые данные в описание, укажите их в этой настройке.<br /> '''Системное имя поля даты размещения объекта (apps.rss.data_date)''' - системное имя поля модели data, которое будет использовано как дата добавления объекта. Явного функционала эта настройка не имеет в данный момент. При не указании используется стандартное data_added.<br /> '''Длинна RSS канала объявлений (apps.rss.data_length)''' - количество объявлений выгружаемых в фид объявлений.<br /> '''Время кеширование в секундах для фида объявлений (apps.rss.data_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования.<br /> === Статьи === '''Системное имя поля описания статьи (apps.rss.articles_text)''' - системное имя поля модели article, которое будет расценено как описание статьи. По умолчанию anons<br /> '''Системное имя поля изображения статьи (apps.rss.articles_image)''' - системное имя поля модели article, которое будет расценено как сопровождающее статью фото. По умолчанию отсутствует<br /> '''Системное имя поля заголовка статьи (apps.rss.articles_title)''' - системное имя поля модели article, которое будет расценено как заголовок статьи. По умолчанию title<br /> '''Длинна RSS канала статей (apps.rss.articles_length)''' - количество статей выгружаемых в фид.<br /> '''Время кеширование в секундах для фида статей (apps.rss.articles_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования. 498016a1574bda5cc9daf38cc69f4ca4597a8716 402 398 2016-02-05T15:13:31Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенных для быстрого информирования клиентов о новых поступлениях на сайте. Приложение формирует два фида - для новостей и для объявлений.<br /> Адреса фидов следующие: Новости - ваш_сайт/rss/<br /> Объявления - ваш_сайт/rss/data/<br /> Статьи - ваш_сайт/rss/articles<br /> == Общая информация == Для фида новостей отбираются все новости в количестве длины фида отсортированные в порядке убывания даты добавления. Для фида новостей отбираются все активные объявления в количестве длины фида отсортированные в порядке убывания даты добавления. <br/> == Настройки == === Общие === '''Включить экспорт RSS (apps.rss.enable)''' - включает\выключает работу модуля<br /> '''Название RSS канала (apps.rss.title)''' - Название RSS канала<br /> '''Описание RSS канала (apps.rss.description)''' - Описание RSS канала<br /> '''Код языка канала (apps.rss.language)''' - Код языка канала<br /> '''Название генератора RSS канала (apps.rss.generator)''' - Название генератора RSS канала<br /> '''Адрес электронной почты лица, ответственного за редакционное содержание (apps.rss.editor_email)''' - Адрес электронной почты лица, ответственного за редакционное содержание. Указывается в виде имени email и имени лица. напр.: <pre>luksa@dallas.example.com (Frank Luksa)</pre><br /> '''Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала (apps.rss.webmaster_email)''' - Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала. Указывается в виде имени email и имени лица. напр.: <pre>luksa@dallas.example.com (Frank Luksa)</pre><br /> '''Длинна RSS канала (apps.rss.length)''' - количество новостей выгружаемых в фид новостей<br /> === Новости === '''Системное имя поля с текстом для новости (apps.rss.news_text)''' - системное имя поля модели news, которое будет расценено как описание новости. По умолчанию anons<br /> '''Системное имя поля фото новости (apps.rss.news_image)''' - системное имя поля модели news, которое будет расценено как сопровождающее новость фото. По умолчанию image<br /> '''Системное имя поля заголовка новости (apps.rss.news_title)''' - системное имя поля модели news, которое будет расценено как заголовок новости. По умолчанию title<br /> '''Время кеширование в секундах для фида новостей (apps.rss.news_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования.<br /> === Объявления === '''Разрешить RSS для объявлений (apps.rss.enable_realty)''' - разрешает\запрещает генерацию фида объявлений<br /> '''Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode)''' - устанавливает режим настроек фида объявлений. 0 - стандартный на усмотрение модуля, 1 - расширенный, разрешающий изменение стандартных полей.<br /> '''Системное имя поля фото объекта (apps.rss.data_image)''' - системное имя поля модели data, которое будет расценено как фото объекта. По умолчанию image. Применимо и в стандартном режиме, и в расширенном.<br /> '''Системное имя поля заголовка объекта (apps.rss.data_title)''' - системное имя поля модели data, которое будет расценено как заголовок объекта. В стандартном режиме не работает. Для заголовка используется заголовок аналогичный тому, который отображается на сайте в карточке объекта. В расширенном режиме при не указании или указании несуществующего поля будет применен алгоритм формирования заголовка как в стандартном режиме.<br /> '''Системное имя поля описания объекта (apps.rss.data_description)''' - системное имя поля модели data, которое будет расценено как описание объекта. В стандартном режиме не работает. Для описания используется автосформированный набор данных из модели изменить или отформатировать который можно путем изменения шаблона /apps/rss/site/template/realty_view.tpl или его локальной копии. В расширенном режиме при не указании или указании несуществующего поля описание формироваться не будет.<br /> '''Максимальная длинна описания (apps.rss.data_description_max)''' - ограничение на длину описания взятого из поля, указанного настройкой apps.rss.data_description. Применяется только если эта настройка указана в виде числа большего нуля. Следует помнить, что если в тексте описания встречаются разметочные теги, то при отсутствии обрезки они будут входить в описание. Если же применить обрезку, то перед укорачиванием описания все теги будут вырезаны.<br /> '''Список системных имен полей для описания объекта (apps.rss.data_descriptionfields)''' - набор системных полей модели data, которые дополнят описание. Например можно задать строку вида <pre>country_id,region_id</pre> и тогда в шаблоне формирующем дополнительную часть описания (/apps/rss/site/template/realty_view_ext.tpl) можно будет получить вывод этих параметров в автовыводе, либо организовать его самому. Важно помнить, что в расширенном режиме идет сжатая выборка данных, поэтому получить доступ к каким либо полям, которые не указаны в этой настройке, будет нельзя. Следовательно, если вам нужно вывести некоторые данные в описание, укажите их в этой настройке.<br /> '''Системное имя поля даты размещения объекта (apps.rss.data_date)''' - системное имя поля модели data, которое будет использовано как дата добавления объекта. Явного функционала эта настройка не имеет в данный момент. При не указании используется стандартное data_added.<br /> '''Длинна RSS канала объявлений (apps.rss.data_length)''' - количество объявлений выгружаемых в фид объявлений.<br /> '''Время кеширование в секундах для фида объявлений (apps.rss.data_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования.<br /> === Статьи === '''Системное имя поля описания статьи (apps.rss.articles_text)''' - системное имя поля модели article, которое будет расценено как описание статьи. По умолчанию anons<br /> '''Системное имя поля изображения статьи (apps.rss.articles_image)''' - системное имя поля модели article, которое будет расценено как сопровождающее статью фото. По умолчанию отсутствует<br /> '''Системное имя поля заголовка статьи (apps.rss.articles_title)''' - системное имя поля модели article, которое будет расценено как заголовок статьи. По умолчанию title<br /> '''Длинна RSS канала статей (apps.rss.articles_length)''' - количество статей выгружаемых в фид.<br /> '''Время кеширование в секундах для фида статей (apps.rss.articles_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования. 9aca47a01e1163c5ba42849e904f95fa06aab8d3 403 402 2016-02-05T15:13:50Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенных для быстрого информирования клиентов о новых поступлениях на сайте. Приложение формирует два фида - для новостей и для объявлений.<br /> Адреса фидов следующие: <pre> Новости - ваш_сайт/rss/<br /> Объявления - ваш_сайт/rss/data/<br /> Статьи - ваш_сайт/rss/articles<br /> </pre> == Общая информация == Для фида новостей отбираются все новости в количестве длины фида отсортированные в порядке убывания даты добавления. Для фида новостей отбираются все активные объявления в количестве длины фида отсортированные в порядке убывания даты добавления. <br/> == Настройки == === Общие === '''Включить экспорт RSS (apps.rss.enable)''' - включает\выключает работу модуля<br /> '''Название RSS канала (apps.rss.title)''' - Название RSS канала<br /> '''Описание RSS канала (apps.rss.description)''' - Описание RSS канала<br /> '''Код языка канала (apps.rss.language)''' - Код языка канала<br /> '''Название генератора RSS канала (apps.rss.generator)''' - Название генератора RSS канала<br /> '''Адрес электронной почты лица, ответственного за редакционное содержание (apps.rss.editor_email)''' - Адрес электронной почты лица, ответственного за редакционное содержание. Указывается в виде имени email и имени лица. напр.: <pre>luksa@dallas.example.com (Frank Luksa)</pre><br /> '''Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала (apps.rss.webmaster_email)''' - Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала. Указывается в виде имени email и имени лица. напр.: <pre>luksa@dallas.example.com (Frank Luksa)</pre><br /> '''Длинна RSS канала (apps.rss.length)''' - количество новостей выгружаемых в фид новостей<br /> === Новости === '''Системное имя поля с текстом для новости (apps.rss.news_text)''' - системное имя поля модели news, которое будет расценено как описание новости. По умолчанию anons<br /> '''Системное имя поля фото новости (apps.rss.news_image)''' - системное имя поля модели news, которое будет расценено как сопровождающее новость фото. По умолчанию image<br /> '''Системное имя поля заголовка новости (apps.rss.news_title)''' - системное имя поля модели news, которое будет расценено как заголовок новости. По умолчанию title<br /> '''Время кеширование в секундах для фида новостей (apps.rss.news_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования.<br /> === Объявления === '''Разрешить RSS для объявлений (apps.rss.enable_realty)''' - разрешает\запрещает генерацию фида объявлений<br /> '''Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode)''' - устанавливает режим настроек фида объявлений. 0 - стандартный на усмотрение модуля, 1 - расширенный, разрешающий изменение стандартных полей.<br /> '''Системное имя поля фото объекта (apps.rss.data_image)''' - системное имя поля модели data, которое будет расценено как фото объекта. По умолчанию image. Применимо и в стандартном режиме, и в расширенном.<br /> '''Системное имя поля заголовка объекта (apps.rss.data_title)''' - системное имя поля модели data, которое будет расценено как заголовок объекта. В стандартном режиме не работает. Для заголовка используется заголовок аналогичный тому, который отображается на сайте в карточке объекта. В расширенном режиме при не указании или указании несуществующего поля будет применен алгоритм формирования заголовка как в стандартном режиме.<br /> '''Системное имя поля описания объекта (apps.rss.data_description)''' - системное имя поля модели data, которое будет расценено как описание объекта. В стандартном режиме не работает. Для описания используется автосформированный набор данных из модели изменить или отформатировать который можно путем изменения шаблона /apps/rss/site/template/realty_view.tpl или его локальной копии. В расширенном режиме при не указании или указании несуществующего поля описание формироваться не будет.<br /> '''Максимальная длинна описания (apps.rss.data_description_max)''' - ограничение на длину описания взятого из поля, указанного настройкой apps.rss.data_description. Применяется только если эта настройка указана в виде числа большего нуля. Следует помнить, что если в тексте описания встречаются разметочные теги, то при отсутствии обрезки они будут входить в описание. Если же применить обрезку, то перед укорачиванием описания все теги будут вырезаны.<br /> '''Список системных имен полей для описания объекта (apps.rss.data_descriptionfields)''' - набор системных полей модели data, которые дополнят описание. Например можно задать строку вида <pre>country_id,region_id</pre> и тогда в шаблоне формирующем дополнительную часть описания (/apps/rss/site/template/realty_view_ext.tpl) можно будет получить вывод этих параметров в автовыводе, либо организовать его самому. Важно помнить, что в расширенном режиме идет сжатая выборка данных, поэтому получить доступ к каким либо полям, которые не указаны в этой настройке, будет нельзя. Следовательно, если вам нужно вывести некоторые данные в описание, укажите их в этой настройке.<br /> '''Системное имя поля даты размещения объекта (apps.rss.data_date)''' - системное имя поля модели data, которое будет использовано как дата добавления объекта. Явного функционала эта настройка не имеет в данный момент. При не указании используется стандартное data_added.<br /> '''Длинна RSS канала объявлений (apps.rss.data_length)''' - количество объявлений выгружаемых в фид объявлений.<br /> '''Время кеширование в секундах для фида объявлений (apps.rss.data_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования.<br /> === Статьи === '''Системное имя поля описания статьи (apps.rss.articles_text)''' - системное имя поля модели article, которое будет расценено как описание статьи. По умолчанию anons<br /> '''Системное имя поля изображения статьи (apps.rss.articles_image)''' - системное имя поля модели article, которое будет расценено как сопровождающее статью фото. По умолчанию отсутствует<br /> '''Системное имя поля заголовка статьи (apps.rss.articles_title)''' - системное имя поля модели article, которое будет расценено как заголовок статьи. По умолчанию title<br /> '''Длинна RSS канала статей (apps.rss.articles_length)''' - количество статей выгружаемых в фид.<br /> '''Время кеширование в секундах для фида статей (apps.rss.articles_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования. f7652609f1e39a33a164c56df84d27dfa895084b Перевод 0 38 392 291 2016-01-29T04:06:26Z Kondin 1 wikitext text/x-wiki Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для активации мультиязычного режима нужно включить в настройках во вкладке Редактор переводов опцию Использовать мультиязычность (apps.language.use_langs) - установите там значение 1.<br/> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.<br /> Например, нужно сделать перевод для поля text (описание) на английский язык (en).<br /> Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.<br /> В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.<br /> Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br /> Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. === Локализации === Языки подключаются в два этапа - этап локализации системы и этап локализации приложения ==== Этап локализации системы ==== Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language.<br /> В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1.<br /> Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык.<br /> ==== Этап локализации приложения ==== Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения. Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language.<br /> Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные ==== Редактор языков в админке ==== В новых версиях создан редактор языков в панели управления '''Приложения - Редактор переводов''' ==== Необходимые изменения в базе данных ==== Когда вы добавляете свой язык, вам необходимо добавить дополнительные поля в базе данных с помощью этих команд:<br /> alter table re_topic add column name_яз varchar(255);<br /> alter table re_menu_structure add column name_яз varchar(255);<br /> Где яз - это ваш языковой префикс. Например, если вы добавили японский язык, тогда яз = jp<br /> 9915331e7f4bcca3887220ea15f8710dc5b5c80b 399 392 2016-02-01T04:26:49Z Kondin 1 wikitext text/x-wiki == Рекомендуемый быстрый способ перевода сайта ==<br/> Вы можете использовать переводчик от Google, тут инструкция https://translate.google.com/manager/website/<br/> Это самый быстрый способ и не требует от вас дополнительных усилий.<br/> == Ручной перевод == Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для активации мультиязычного режима нужно включить в настройках во вкладке Редактор переводов опцию Использовать мультиязычность (apps.language.use_langs) - установите там значение 1.<br/> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.<br /> Например, нужно сделать перевод для поля text (описание) на английский язык (en).<br /> Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.<br /> В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.<br /> Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br /> Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. === Локализации === Языки подключаются в два этапа - этап локализации системы и этап локализации приложения ==== Этап локализации системы ==== Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language.<br /> В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1.<br /> Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык.<br /> ==== Этап локализации приложения ==== Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения. Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language.<br /> Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные ==== Редактор языков в админке ==== В новых версиях создан редактор языков в панели управления '''Приложения - Редактор переводов''' ==== Необходимые изменения в базе данных ==== Когда вы добавляете свой язык, вам необходимо добавить дополнительные поля в базе данных с помощью этих команд:<br /> alter table re_topic add column name_яз varchar(255);<br /> alter table re_menu_structure add column name_яз varchar(255);<br /> Где яз - это ваш языковой префикс. Например, если вы добавили японский язык, тогда яз = jp<br /> 91821bc157545392f6cbdfb0e927b952c803804f 400 399 2016-02-01T04:27:17Z Kondin 1 wikitext text/x-wiki == Рекомендуемый быстрый способ перевода сайта == Вы можете использовать переводчик от Google, тут инструкция https://translate.google.com/manager/website/<br/> Это самый быстрый способ и не требует от вас дополнительных усилий.<br/> == Ручной перевод == Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для активации мультиязычного режима нужно включить в настройках во вкладке Редактор переводов опцию Использовать мультиязычность (apps.language.use_langs) - установите там значение 1.<br/> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.<br /> Например, нужно сделать перевод для поля text (описание) на английский язык (en).<br /> Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.<br /> В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.<br /> Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br /> Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. === Локализации === Языки подключаются в два этапа - этап локализации системы и этап локализации приложения ==== Этап локализации системы ==== Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language.<br /> В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1.<br /> Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык.<br /> ==== Этап локализации приложения ==== Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения. Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language.<br /> Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные ==== Редактор языков в админке ==== В новых версиях создан редактор языков в панели управления '''Приложения - Редактор переводов''' ==== Необходимые изменения в базе данных ==== Когда вы добавляете свой язык, вам необходимо добавить дополнительные поля в базе данных с помощью этих команд:<br /> alter table re_topic add column name_яз varchar(255);<br /> alter table re_menu_structure add column name_яз varchar(255);<br /> Где яз - это ваш языковой префикс. Например, если вы добавили японский язык, тогда яз = jp<br /> ff2e490047a36a1e4ed4e96e0d6dccdbdcdb1ed6 Приложение "RSS новостей сайта" 0 66 404 403 2016-02-05T15:14:05Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату RSS предназначенных для быстрого информирования клиентов о новых поступлениях на сайте. Приложение формирует два фида - для новостей и для объявлений.<br /> Адреса фидов следующие: <pre> Новости - ваш_сайт/rss/ Объявления - ваш_сайт/rss/data/ Статьи - ваш_сайт/rss/articles/ </pre> == Общая информация == Для фида новостей отбираются все новости в количестве длины фида отсортированные в порядке убывания даты добавления. Для фида новостей отбираются все активные объявления в количестве длины фида отсортированные в порядке убывания даты добавления. <br/> == Настройки == === Общие === '''Включить экспорт RSS (apps.rss.enable)''' - включает\выключает работу модуля<br /> '''Название RSS канала (apps.rss.title)''' - Название RSS канала<br /> '''Описание RSS канала (apps.rss.description)''' - Описание RSS канала<br /> '''Код языка канала (apps.rss.language)''' - Код языка канала<br /> '''Название генератора RSS канала (apps.rss.generator)''' - Название генератора RSS канала<br /> '''Адрес электронной почты лица, ответственного за редакционное содержание (apps.rss.editor_email)''' - Адрес электронной почты лица, ответственного за редакционное содержание. Указывается в виде имени email и имени лица. напр.: <pre>luksa@dallas.example.com (Frank Luksa)</pre><br /> '''Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала (apps.rss.webmaster_email)''' - Адрес электронной почты лица, ответственного за технические вопросы, касающиеся канала. Указывается в виде имени email и имени лица. напр.: <pre>luksa@dallas.example.com (Frank Luksa)</pre><br /> '''Длинна RSS канала (apps.rss.length)''' - количество новостей выгружаемых в фид новостей<br /> === Новости === '''Системное имя поля с текстом для новости (apps.rss.news_text)''' - системное имя поля модели news, которое будет расценено как описание новости. По умолчанию anons<br /> '''Системное имя поля фото новости (apps.rss.news_image)''' - системное имя поля модели news, которое будет расценено как сопровождающее новость фото. По умолчанию image<br /> '''Системное имя поля заголовка новости (apps.rss.news_title)''' - системное имя поля модели news, которое будет расценено как заголовок новости. По умолчанию title<br /> '''Время кеширование в секундах для фида новостей (apps.rss.news_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования.<br /> === Объявления === '''Разрешить RSS для объявлений (apps.rss.enable_realty)''' - разрешает\запрещает генерацию фида объявлений<br /> '''Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode)''' - устанавливает режим настроек фида объявлений. 0 - стандартный на усмотрение модуля, 1 - расширенный, разрешающий изменение стандартных полей.<br /> '''Системное имя поля фото объекта (apps.rss.data_image)''' - системное имя поля модели data, которое будет расценено как фото объекта. По умолчанию image. Применимо и в стандартном режиме, и в расширенном.<br /> '''Системное имя поля заголовка объекта (apps.rss.data_title)''' - системное имя поля модели data, которое будет расценено как заголовок объекта. В стандартном режиме не работает. Для заголовка используется заголовок аналогичный тому, который отображается на сайте в карточке объекта. В расширенном режиме при не указании или указании несуществующего поля будет применен алгоритм формирования заголовка как в стандартном режиме.<br /> '''Системное имя поля описания объекта (apps.rss.data_description)''' - системное имя поля модели data, которое будет расценено как описание объекта. В стандартном режиме не работает. Для описания используется автосформированный набор данных из модели изменить или отформатировать который можно путем изменения шаблона /apps/rss/site/template/realty_view.tpl или его локальной копии. В расширенном режиме при не указании или указании несуществующего поля описание формироваться не будет.<br /> '''Максимальная длинна описания (apps.rss.data_description_max)''' - ограничение на длину описания взятого из поля, указанного настройкой apps.rss.data_description. Применяется только если эта настройка указана в виде числа большего нуля. Следует помнить, что если в тексте описания встречаются разметочные теги, то при отсутствии обрезки они будут входить в описание. Если же применить обрезку, то перед укорачиванием описания все теги будут вырезаны.<br /> '''Список системных имен полей для описания объекта (apps.rss.data_descriptionfields)''' - набор системных полей модели data, которые дополнят описание. Например можно задать строку вида <pre>country_id,region_id</pre> и тогда в шаблоне формирующем дополнительную часть описания (/apps/rss/site/template/realty_view_ext.tpl) можно будет получить вывод этих параметров в автовыводе, либо организовать его самому. Важно помнить, что в расширенном режиме идет сжатая выборка данных, поэтому получить доступ к каким либо полям, которые не указаны в этой настройке, будет нельзя. Следовательно, если вам нужно вывести некоторые данные в описание, укажите их в этой настройке.<br /> '''Системное имя поля даты размещения объекта (apps.rss.data_date)''' - системное имя поля модели data, которое будет использовано как дата добавления объекта. Явного функционала эта настройка не имеет в данный момент. При не указании используется стандартное data_added.<br /> '''Длинна RSS канала объявлений (apps.rss.data_length)''' - количество объявлений выгружаемых в фид объявлений.<br /> '''Время кеширование в секундах для фида объявлений (apps.rss.data_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования.<br /> === Статьи === '''Системное имя поля описания статьи (apps.rss.articles_text)''' - системное имя поля модели article, которое будет расценено как описание статьи. По умолчанию anons<br /> '''Системное имя поля изображения статьи (apps.rss.articles_image)''' - системное имя поля модели article, которое будет расценено как сопровождающее статью фото. По умолчанию отсутствует<br /> '''Системное имя поля заголовка статьи (apps.rss.articles_title)''' - системное имя поля модели article, которое будет расценено как заголовок статьи. По умолчанию title<br /> '''Длинна RSS канала статей (apps.rss.articles_length)''' - количество статей выгружаемых в фид.<br /> '''Время кеширование в секундах для фида статей (apps.rss.articles_cachediff)''' - время кеширования фида в секундах. Значение отличное от положительного целого числа означает отключение кеширования. a9d6dddb88345e05b94d59176f92a1aa4e51be33 Use topic linker 0 58 405 336 2016-03-11T02:30:26Z Kondin 1 wikitext text/x-wiki == Включить переадресацию категорий (use_topic_linker) == Опция предназначена для переадресации категорий из одной в другую. Например, у вас на сайте есть слишком большое дерево категорий и вы хотите его упорядочить. Тогда вы можете ненужные категории прилинковать к новым категориями. И скрипт обновить у объявлений категории на эти новые.<br/> Для сохранения линков нужно создать таблицу CREATE TABLE IF NOT EXISTS `re_topic_links` ( `id` int(11) NOT NULL, `topic_id` int(11) NOT NULL, `link_topic_id` int(11) NOT NULL, `params` text ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Разберем на примере как нам сделать переадресацию одной категории в другую:<br/> # Нажмите в админке Структура - Переадресация категорий # В первой колонке выводятся все категории, которые созданы в CMS Sitebill, левее находится выпадающий список в которые мы хотим сделать переадресацию. # Например у нас есть Категория: ''Аренда / Комнаты / Секционки'', если левее мы выберем из выпадающего списка ''Аренда - Комнаты'', тогда скрипт переместит в дальнейшем все объявления из ''Аренда / Комнаты / Секционки'' в ''Аренда / Комнаты'' # Если нам не нужна переадресация для категории, то ничего не меняем, в выпадающем списке пусть так и остается эта же категория. c2a6ddecbec148e3222be93afd4cd675aea774fc 406 405 2016-03-11T02:31:00Z Kondin 1 wikitext text/x-wiki == Включить переадресацию категорий (use_topic_linker) == Опция предназначена для переадресации категорий из одной в другую. Например, у вас на сайте есть слишком большое дерево категорий и вы хотите его упорядочить. Тогда вы можете ненужные категории прилинковать к новым категориями. И скрипт обновить у объявлений категории на эти новые.<br/> Для сохранения линков нужно создать таблицу ( CREATE TABLE IF NOT EXISTS `re_topic_links` ( `id` int(11) NOT NULL, `topic_id` int(11) NOT NULL, `link_topic_id` int(11) NOT NULL, `params` text ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) Разберем на примере как нам сделать переадресацию одной категории в другую:<br/> # Нажмите в админке Структура - Переадресация категорий # В первой колонке выводятся все категории, которые созданы в CMS Sitebill, левее находится выпадающий список в которые мы хотим сделать переадресацию. # Например у нас есть Категория: ''Аренда / Комнаты / Секционки'', если левее мы выберем из выпадающего списка ''Аренда - Комнаты'', тогда скрипт переместит в дальнейшем все объявления из ''Аренда / Комнаты / Секционки'' в ''Аренда / Комнаты'' # Если нам не нужна переадресация для категории, то ничего не меняем, в выпадающем списке пусть так и остается эта же категория. bf440a9865fb4f3cc12c00bf445032893fd42f46 407 406 2016-03-11T02:31:23Z Kondin 1 wikitext text/x-wiki == Включить переадресацию категорий (use_topic_linker) == Опция предназначена для переадресации категорий из одной в другую. Например, у вас на сайте есть слишком большое дерево категорий и вы хотите его упорядочить. Тогда вы можете ненужные категории прилинковать к новым категориями. И скрипт обновить у объявлений категории на эти новые.<br/> Для сохранения линков нужно создать таблицу CREATE TABLE IF NOT EXISTS re_topic_links ( `id` int(11) NOT NULL, `topic_id` int(11) NOT NULL, `link_topic_id` int(11) NOT NULL, `params` text ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Разберем на примере как нам сделать переадресацию одной категории в другую:<br/> # Нажмите в админке Структура - Переадресация категорий # В первой колонке выводятся все категории, которые созданы в CMS Sitebill, левее находится выпадающий список в которые мы хотим сделать переадресацию. # Например у нас есть Категория: ''Аренда / Комнаты / Секционки'', если левее мы выберем из выпадающего списка ''Аренда - Комнаты'', тогда скрипт переместит в дальнейшем все объявления из ''Аренда / Комнаты / Секционки'' в ''Аренда / Комнаты'' # Если нам не нужна переадресация для категории, то ничего не меняем, в выпадающем списке пусть так и остается эта же категория. 5cfa9dcdec140063074e5c6b58537bafa3cfcdc1 408 407 2016-03-17T11:19:45Z Kondin 1 wikitext text/x-wiki == Включить переадресацию категорий (use_topic_linker) == Опция предназначена для переадресации категорий из одной в другую. Например, у вас на сайте есть слишком большое дерево категорий и вы хотите его упорядочить. Тогда вы можете ненужные категории прилинковать к новым категориями. И скрипт обновить у объявлений категории на эти новые.<br/> Для сохранения линков нужно создать таблицу CREATE TABLE IF NOT EXISTS re_topic_links ( `id` int(11) NOT NULL AUTO_INCREMENT, `topic_id` int(11) NOT NULL, `link_topic_id` int(11) NOT NULL, `params` text, PRIMARY KEY (`id`), ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Разберем на примере как нам сделать переадресацию одной категории в другую:<br/> # Нажмите в админке Структура - Переадресация категорий # В первой колонке выводятся все категории, которые созданы в CMS Sitebill, левее находится выпадающий список в которые мы хотим сделать переадресацию. # Например у нас есть Категория: ''Аренда / Комнаты / Секционки'', если левее мы выберем из выпадающего списка ''Аренда - Комнаты'', тогда скрипт переместит в дальнейшем все объявления из ''Аренда / Комнаты / Секционки'' в ''Аренда / Комнаты'' # Если нам не нужна переадресация для категории, то ничего не меняем, в выпадающем списке пусть так и остается эта же категория. 7a017fc4d0f1335b09e7527f24288980321c4400 409 408 2016-03-17T11:20:38Z Kondin 1 wikitext text/x-wiki == Включить переадресацию категорий (use_topic_linker) == Опция предназначена для переадресации категорий из одной в другую. Например, у вас на сайте есть слишком большое дерево категорий и вы хотите его упорядочить. Тогда вы можете ненужные категории прилинковать к новым категориями. И скрипт обновить у объявлений категории на эти новые.<br/> Для сохранения линков нужно создать таблицу CREATE TABLE IF NOT EXISTS re_topic_links ( `id` int(11) NOT NULL AUTO_INCREMENT, `topic_id` int(11) NOT NULL, `link_topic_id` int(11) NOT NULL, `params` text, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Разберем на примере как нам сделать переадресацию одной категории в другую:<br/> # Нажмите в админке Структура - Переадресация категорий # В первой колонке выводятся все категории, которые созданы в CMS Sitebill, левее находится выпадающий список в которые мы хотим сделать переадресацию. # Например у нас есть Категория: ''Аренда / Комнаты / Секционки'', если левее мы выберем из выпадающего списка ''Аренда - Комнаты'', тогда скрипт переместит в дальнейшем все объявления из ''Аренда / Комнаты / Секционки'' в ''Аренда / Комнаты'' # Если нам не нужна переадресация для категории, то ничего не меняем, в выпадающем списке пусть так и остается эта же категория. ed865a1a815d7f0d613c62c27d69f71ecf365999 Настройка робокассы 0 16 410 237 2016-03-21T11:10:29Z Kondin 1 wikitext text/x-wiki В технических параметрах в '''ЛИЧНОМ КАБИНЕТЕ РОБОКАССЫ''' вам нужно настроить следующие поля.<br /> <br /> Пароль1<br /> Пароль2<br /> <br /> Затем указываем<br /> '''Result URL''': http://ваш_сайт.ru/robox/result/<br /> Метод отсылки данных по Result URL: GET<br /> '''Success URL''': http://ваш_сайт.ru/robox/success/<br /> Метод отсылки данных по Success URL: GET<br /> '''Fail URL''': http://ваш_сайт.ru/robox/fail/<br /> Метод отсылки данных по Fail URL: GET<br /> <br /> <br /> Теперь переходим в панель управления CMS Sitebill в настройки<br /> В поле адрес службы приема платежей по-умолчанию стоит тестовый сервер http://test.robokassa.ru/Index.aspx, если вы уже протестировали сервис и активировали аккаунт в робокассе, то пропишите сюда рабочий адрес: https://auth.robokassa.ru/Merchant/Index.aspx<br /> Идентификатор магазина прописываем в Логин для robokassa.ru<br /> Также надо вписать в поля Пароль 1 для robokassa.ru и Пароль 2 для robokassa.ru те пароли что вы придумали в личном кабинете робокассы.<br /> Сохраните настройки.<br /> Теперь вашим пользователям в личном кабинете можно пополнять свой счет. 5ce679ec7ff33c55e50852fbdacf13a21711b88e Excel 0 23 411 344 2016-04-04T10:48:04Z Kondin 1 wikitext text/x-wiki Загрузка картинок в платной версии Excel выполняется следующим образом. Для начала вам нужно обновить приложение Excel до версии '''1.8.2''' и выше через [[Центр обновлений|центр обновлений]].<br /> == Загрузка фотографий с помощью FTP == Затем загрузить картинки через FTP в каталог ''/cache/upl/xls_uploads/''. Названия для фотографий лучше давать латинскими буквами или цифрами. Например, '''1.jpg; 123.jpg; vid.jpg'''.<br /> Теперь нужно в загружаемом файле Excel добавить колонку с названием Фотографии (либо иначе). Причем обязательно назвать в точности так, как называется поле c системным именем '''image''' в Вашем наборе полей для таблицы data, потому что по ней будет выполнен автоматический поиск.<br /> В колонке фотографии нужно добавить список названий файлов фотографий, принадлежащий данному объявлению. Если фотографий несколько, то нужно разделить названия с помощью символа ''';''' <br /> Пример '''1.jpg;2.jpg;3.jpg''';<br /> Убедитесь перед загрузкой файла Excel в том, что соответствующие файлы фотографий загружены в каталог ''/cache/upl/xls_uploads/''. И после можете нажимать загрузку файла в базу данных. После обработки фотографии автоматически удаляются из каталога ''/cache/upl/xls_uploads/''. Также автоматически создаются превью и большие фото. Но следует учесть, что размер фото не должен превышать допустимого размера, который может обработать хостинг. == Загрузка фотографий с удаленного сервера == Вы можете указывать адреса картинок с других сайтов и система при загрузке Excel файла автоматически будет загружать эти фото по URL. В этом случае не нужно загружать фото по FTP. <br/> Для этого нужно вписывать названия фото в таком формате: Пример '''http://www.site.ru/1.jpg;http://www.site.ru/2.jpg;http://www.site.ru/3.jpg''';<br /> == Обработка большого количества фотографий == Если вы хотите за один раз загрузить файл excel в котором много объявлений и у каждого объявления по нескольку фотографий, то серверу потребуется значительное время для обработки. И возможно, скрипт выдаст ошибку что время выполнения превышено.<br/> Для этого мы сделали опцию отложенного парсинга картинок. Т.е. сначала из excel загружаются только данные, а затем с помощью дополнительного скрипта происходит дозагрузка фотографий в пошаговом режиме.<br/> Опция пошаговой загрузки фотографий доступна начиная с версии 1.9.1<br/> Нужно включить опцию: Использовать кэш картинок внутри data.image_cache для парсинга (apps.excel.use_image_cache), поставьте 1<br/> Количество объявлений для парсинга картинок за один шаг (apps.excel.image_parsing_step) равно 10, лучше оставить это значение. 768a7e92d6cd347c979593312d537c4d659d7269 412 411 2016-04-04T11:01:52Z Kondin 1 /* Обработка большого количества фотографий */ wikitext text/x-wiki Загрузка картинок в платной версии Excel выполняется следующим образом. Для начала вам нужно обновить приложение Excel до версии '''1.8.2''' и выше через [[Центр обновлений|центр обновлений]].<br /> == Загрузка фотографий с помощью FTP == Затем загрузить картинки через FTP в каталог ''/cache/upl/xls_uploads/''. Названия для фотографий лучше давать латинскими буквами или цифрами. Например, '''1.jpg; 123.jpg; vid.jpg'''.<br /> Теперь нужно в загружаемом файле Excel добавить колонку с названием Фотографии (либо иначе). Причем обязательно назвать в точности так, как называется поле c системным именем '''image''' в Вашем наборе полей для таблицы data, потому что по ней будет выполнен автоматический поиск.<br /> В колонке фотографии нужно добавить список названий файлов фотографий, принадлежащий данному объявлению. Если фотографий несколько, то нужно разделить названия с помощью символа ''';''' <br /> Пример '''1.jpg;2.jpg;3.jpg''';<br /> Убедитесь перед загрузкой файла Excel в том, что соответствующие файлы фотографий загружены в каталог ''/cache/upl/xls_uploads/''. И после можете нажимать загрузку файла в базу данных. После обработки фотографии автоматически удаляются из каталога ''/cache/upl/xls_uploads/''. Также автоматически создаются превью и большие фото. Но следует учесть, что размер фото не должен превышать допустимого размера, который может обработать хостинг. == Загрузка фотографий с удаленного сервера == Вы можете указывать адреса картинок с других сайтов и система при загрузке Excel файла автоматически будет загружать эти фото по URL. В этом случае не нужно загружать фото по FTP. <br/> Для этого нужно вписывать названия фото в таком формате: Пример '''http://www.site.ru/1.jpg;http://www.site.ru/2.jpg;http://www.site.ru/3.jpg''';<br /> == Обработка большого количества фотографий == Если вы хотите за один раз загрузить файл excel в котором много объявлений и у каждого объявления по нескольку фотографий, то серверу потребуется значительное время для обработки. И возможно, скрипт выдаст ошибку что время выполнения превышено.<br/> Для этого мы сделали опцию отложенного парсинга картинок. Т.е. сначала из excel загружаются только данные, а затем с помощью дополнительного скрипта происходит дозагрузка фотографий в пошаговом режиме.<br/> Опция пошаговой загрузки фотографий доступна начиная с версии 1.9.1<br/> Нужно включить опцию: Использовать кэш картинок внутри data.image_cache для парсинга (apps.excel.use_image_cache), поставьте 1<br/> Количество объявлений для парсинга картинок за один шаг (apps.excel.image_parsing_step) равно 10, лучше оставить это значение.<br/> Теперь вы можете загрузить большой файл с объявлениями, но картинки при этом не загрузятся, они будут записаны в кэш<br/> Чтобы картинки начали загружаться нужно запустить вот этот скрипт:<br/> http://ваш_сайт/apps/excel/cron_image_parser.php<br/> При каждом запуске из базы данных будет выполняться выборка объявлений ожидающих парсинга картинок в количестве указанном в настройках (apps.excel.image_parsing_step)<br/> Вы можете вручную обновлять скрипт после каждого запуска, чтобы все картинки загрузились(обязательно дождитесь окончания работы запущенного скрипта перед повторным запуском).<br/> Либо можно добавить в задание CRON (планировщик), чтобы этот скрипт автоматически запускался, например раз в пять минут.<br/> */5 * * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/excel/cron_image_parser.php f4e9b73aae78411e387af9a9b673e4e146ac500b 413 412 2016-04-04T11:10:35Z Kondin 1 /* Обработка большого количества фотографий */ wikitext text/x-wiki Загрузка картинок в платной версии Excel выполняется следующим образом. Для начала вам нужно обновить приложение Excel до версии '''1.8.2''' и выше через [[Центр обновлений|центр обновлений]].<br /> == Загрузка фотографий с помощью FTP == Затем загрузить картинки через FTP в каталог ''/cache/upl/xls_uploads/''. Названия для фотографий лучше давать латинскими буквами или цифрами. Например, '''1.jpg; 123.jpg; vid.jpg'''.<br /> Теперь нужно в загружаемом файле Excel добавить колонку с названием Фотографии (либо иначе). Причем обязательно назвать в точности так, как называется поле c системным именем '''image''' в Вашем наборе полей для таблицы data, потому что по ней будет выполнен автоматический поиск.<br /> В колонке фотографии нужно добавить список названий файлов фотографий, принадлежащий данному объявлению. Если фотографий несколько, то нужно разделить названия с помощью символа ''';''' <br /> Пример '''1.jpg;2.jpg;3.jpg''';<br /> Убедитесь перед загрузкой файла Excel в том, что соответствующие файлы фотографий загружены в каталог ''/cache/upl/xls_uploads/''. И после можете нажимать загрузку файла в базу данных. После обработки фотографии автоматически удаляются из каталога ''/cache/upl/xls_uploads/''. Также автоматически создаются превью и большие фото. Но следует учесть, что размер фото не должен превышать допустимого размера, который может обработать хостинг. == Загрузка фотографий с удаленного сервера == Вы можете указывать адреса картинок с других сайтов и система при загрузке Excel файла автоматически будет загружать эти фото по URL. В этом случае не нужно загружать фото по FTP. <br/> Для этого нужно вписывать названия фото в таком формате: Пример '''http://www.site.ru/1.jpg;http://www.site.ru/2.jpg;http://www.site.ru/3.jpg''';<br /> == Обработка большого количества фотографий == Если вы хотите за один раз загрузить файл excel в котором много объявлений и у каждого объявления по нескольку фотографий, то серверу потребуется значительное время для обработки. И возможно, скрипт выдаст ошибку что время выполнения превышено.<br/> Для этого мы сделали опцию отложенного парсинга картинок. Т.е. сначала из excel загружаются только данные, а затем с помощью дополнительного скрипта происходит дозагрузка фотографий в пошаговом режиме.<br/> Опция пошаговой загрузки фотографий доступна начиная с версии 1.9.1<br/> Нужно включить опцию: Использовать кэш картинок внутри data.image_cache для парсинга (apps.excel.use_image_cache), поставьте 1<br/> Количество объявлений для парсинга картинок за один шаг (apps.excel.image_parsing_step) равно 10, лучше оставить это значение.<br/> Теперь вы можете загрузить большой файл с объявлениями, но картинки при этом не загрузятся, они будут записаны в кэш<br/> Чтобы картинки начали загружаться нужно запустить вот этот скрипт:<br/> http://ваш_сайт/apps/excel/cron_image_parser.php<br/> При каждом запуске из базы данных будет выполняться выборка объявлений ожидающих парсинга картинок в количестве указанном в настройках (apps.excel.image_parsing_step)<br/> Вы можете вручную обновлять скрипт после каждого запуска, чтобы все картинки загрузились(обязательно дождитесь окончания работы запущенного скрипта перед повторным запуском).<br/> Либо можно добавить в задание CRON (планировщик), чтобы этот скрипт автоматически запускался, например раз в пять минут.<br/> */5 * * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/excel/cron_image_parser.php 324d1004496eee876189d048051e2c7a09ccfe49 Приложение "SEO-Оптимизация" 0 49 414 224 2016-04-07T18:01:03Z Abushyk 2 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Работа == Приложение располагает двумя доступными операциями<br /> * Обновить структуру каталогов * Обновить алиасы объявлений <br /> '''Обновить структуру каталогов'''<br /> Проходится по всем элементам структуры и формирует для них текстовые алиасы на основе транслитераии. Данные алиасы будут использоваться для формирования ссылок на категории. Сформированное значение будет записано в таблицу re_topic в поле url и, соответственно, это поле должно присутствовать в этой таблице. Формирование алиасов происходит только для тех элементов структуры, для которых эти алиасы еще не определены. Sitebill не следит за уникальностью этих алиасов. Поэтому, если вы присвоили пункту структуры Квартиры алиас zhilaya, то для пункта Жилая, если алиас не указан, при формировании будет присвоен такой же алиас, что приведет к не совсем логичной работе. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, цифр и знака подчеркивания в нижнем регистре # Алиас должен быть уникален в пределах структуры категорий # Алиас указывается без учета иерархичности. Для пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira, а только kvartira # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> '''Обновить алиасы объявлений'''<br /> Проходится по всем объявлениям и формирует для них текстовые алиасы, которые будут использованы при включенном режиме '''apps.seo.data_alias_enable''' на основе правил указанных в '''apps.seo.allow_custom_realty_aliases''' и '''apps.seo.allow_custom_realty_aliase_fields'''. Данные алиасы будут использоваться для формирования ссылок на объявления. Сформированное значение будет записано в таблицу re_data в поле translit_alias. Из чего следует, что модель вашего объявления должна иметь в своем составе поле с системным именем translit_alias. Формирование алиасов происходит только для тех объявлений, для которых эти алиасы еще не определены. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, тире, цифр и знака подчеркивания в нижнем регистре # Алиас указывается без учета иерархичности. Для объявления из пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira/alias-moyego-obyavlenia, а только alias-moyego-obyavlenia # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)'''<br /> Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов.<br /> При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> <br /> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)'''<br /> Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления.<br /> Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира.<br /> Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/zhilaya/kvartira/ Жилая/Квартира/Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/kvartira/ Жилая/Квартира/Объявление - домен/realty17[.html] </pre> <br /> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)'''<br /> При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей.<br /> Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> <br /> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)'''<br /> По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. <br /><br /> '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)'''<br /> Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. <br /> Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> '''Пример'''<br /> {| class="wikitable" |- ! Текст заголовка !! Текст заголовка !! Текст заголовка !! Текст заголовка |- | Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки |} bccc3b8e8325f2935f665ba728a8e9bb7b9821a7 415 414 2016-04-07T18:25:19Z Abushyk 2 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Работа == Приложение располагает двумя доступными операциями<br /> * Обновить структуру каталогов * Обновить алиасы объявлений <br /> '''Обновить структуру каталогов'''<br /> Проходится по всем элементам структуры и формирует для них текстовые алиасы на основе транслитераии. Данные алиасы будут использоваться для формирования ссылок на категории. Сформированное значение будет записано в таблицу re_topic в поле url и, соответственно, это поле должно присутствовать в этой таблице. Формирование алиасов происходит только для тех элементов структуры, для которых эти алиасы еще не определены. Sitebill не следит за уникальностью этих алиасов. Поэтому, если вы присвоили пункту структуры Квартиры алиас zhilaya, то для пункта Жилая, если алиас не указан, при формировании будет присвоен такой же алиас, что приведет к не совсем логичной работе. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, цифр и знака подчеркивания в нижнем регистре # Алиас должен быть уникален в пределах структуры категорий # Алиас указывается без учета иерархичности. Для пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira, а только kvartira # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> '''Обновить алиасы объявлений'''<br /> Проходится по всем объявлениям и формирует для них текстовые алиасы, которые будут использованы при включенном режиме '''apps.seo.data_alias_enable''' на основе правил указанных в '''apps.seo.allow_custom_realty_aliases''' и '''apps.seo.allow_custom_realty_aliase_fields'''. Данные алиасы будут использоваться для формирования ссылок на объявления. Сформированное значение будет записано в таблицу re_data в поле translit_alias. Из чего следует, что модель вашего объявления должна иметь в своем составе поле с системным именем translit_alias. Формирование алиасов происходит только для тех объявлений, для которых эти алиасы еще не определены. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, тире, цифр и знака подчеркивания в нижнем регистре # Алиас указывается без учета иерархичности. Для объявления из пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira/alias-moyego-obyavlenia, а только alias-moyego-obyavlenia # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)'''<br /> Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов.<br /> При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> <br /> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)'''<br /> Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления.<br /> Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира.<br /> Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/zhilaya/kvartira/ Жилая/Квартира/Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/kvartira/ Жилая/Квартира/Объявление - домен/realty17[.html] </pre> <br /> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)'''<br /> При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей.<br /> Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> <br /> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)'''<br /> По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. <br /><br /> '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)'''<br /> Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. <br /> Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> '''Пример'''<br /> {| class="wikitable" |- ! apps.seo.level_enable !! apps.seo.data_alias_enable !! apps.seo.html_prefix_enable !! Текст заголовка |- | 1 || 1 || Текст ячейки || Текст ячейки |- | 1 || 1 || Текст ячейки || Текст ячейки |- | 1 || 0 || Текст ячейки || Текст ячейки |- | 0 || 0 || Текст ячейки || Текст ячейки |- | 0 || 1 || Текст ячейки || Текст ячейки |- | 0 || 1 || Текст ячейки || Текст ячейки |- | 0 || 0 || Текст ячейки || Текст ячейки |} 5092b7d3c332c4ff770eff948462c0475cd8866f 416 415 2016-04-07T18:27:20Z Abushyk 2 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Работа == Приложение располагает двумя доступными операциями<br /> * Обновить структуру каталогов * Обновить алиасы объявлений <br /> '''Обновить структуру каталогов'''<br /> Проходится по всем элементам структуры и формирует для них текстовые алиасы на основе транслитераии. Данные алиасы будут использоваться для формирования ссылок на категории. Сформированное значение будет записано в таблицу re_topic в поле url и, соответственно, это поле должно присутствовать в этой таблице. Формирование алиасов происходит только для тех элементов структуры, для которых эти алиасы еще не определены. Sitebill не следит за уникальностью этих алиасов. Поэтому, если вы присвоили пункту структуры Квартиры алиас zhilaya, то для пункта Жилая, если алиас не указан, при формировании будет присвоен такой же алиас, что приведет к не совсем логичной работе. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, цифр и знака подчеркивания в нижнем регистре # Алиас должен быть уникален в пределах структуры категорий # Алиас указывается без учета иерархичности. Для пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira, а только kvartira # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> '''Обновить алиасы объявлений'''<br /> Проходится по всем объявлениям и формирует для них текстовые алиасы, которые будут использованы при включенном режиме '''apps.seo.data_alias_enable''' на основе правил указанных в '''apps.seo.allow_custom_realty_aliases''' и '''apps.seo.allow_custom_realty_aliase_fields'''. Данные алиасы будут использоваться для формирования ссылок на объявления. Сформированное значение будет записано в таблицу re_data в поле translit_alias. Из чего следует, что модель вашего объявления должна иметь в своем составе поле с системным именем translit_alias. Формирование алиасов происходит только для тех объявлений, для которых эти алиасы еще не определены. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, тире, цифр и знака подчеркивания в нижнем регистре # Алиас указывается без учета иерархичности. Для объявления из пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira/alias-moyego-obyavlenia, а только alias-moyego-obyavlenia # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)'''<br /> Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов.<br /> При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> <br /> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)'''<br /> Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления.<br /> Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира.<br /> Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/zhilaya/kvartira/ Жилая/Квартира/Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/kvartira/ Жилая/Квартира/Объявление - домен/realty17[.html] </pre> <br /> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)'''<br /> При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей.<br /> Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> <br /> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)'''<br /> По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. <br /><br /> '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)'''<br /> Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. <br /> Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> == Пример == {| class="wikitable" |- ! apps.seo.level_enable !! apps.seo.data_alias_enable !! apps.seo.html_prefix_enable !! Текст заголовка |- | 1 || 1 || 1 || prodazha/kvartira/nedorogaya-kvartira |- | 1 || 1 || 0 || prodazha/kvartira/nedorogaya-kvartira |- | 1 || 0 || 1 || prodazha/kvartira/realty456.html |- | 1 || 0 || 0 || prodazha/kvartira/realty456 |- | 0 || 1 || 1 || nedorogaya-kvartira |- | 0 || 1 || 0 || nedorogaya-kvartira |- | 0 || 0 || 1 || realty456.html |- | 0 || 0 || 0 || realty456 |} c5a085b7aa2b55914afa073a05a44eec35d696e0 417 416 2016-04-07T18:28:54Z Abushyk 2 /* Пример */ wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Работа == Приложение располагает двумя доступными операциями<br /> * Обновить структуру каталогов * Обновить алиасы объявлений <br /> '''Обновить структуру каталогов'''<br /> Проходится по всем элементам структуры и формирует для них текстовые алиасы на основе транслитераии. Данные алиасы будут использоваться для формирования ссылок на категории. Сформированное значение будет записано в таблицу re_topic в поле url и, соответственно, это поле должно присутствовать в этой таблице. Формирование алиасов происходит только для тех элементов структуры, для которых эти алиасы еще не определены. Sitebill не следит за уникальностью этих алиасов. Поэтому, если вы присвоили пункту структуры Квартиры алиас zhilaya, то для пункта Жилая, если алиас не указан, при формировании будет присвоен такой же алиас, что приведет к не совсем логичной работе. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, цифр и знака подчеркивания в нижнем регистре # Алиас должен быть уникален в пределах структуры категорий # Алиас указывается без учета иерархичности. Для пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira, а только kvartira # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> '''Обновить алиасы объявлений'''<br /> Проходится по всем объявлениям и формирует для них текстовые алиасы, которые будут использованы при включенном режиме '''apps.seo.data_alias_enable''' на основе правил указанных в '''apps.seo.allow_custom_realty_aliases''' и '''apps.seo.allow_custom_realty_aliase_fields'''. Данные алиасы будут использоваться для формирования ссылок на объявления. Сформированное значение будет записано в таблицу re_data в поле translit_alias. Из чего следует, что модель вашего объявления должна иметь в своем составе поле с системным именем translit_alias. Формирование алиасов происходит только для тех объявлений, для которых эти алиасы еще не определены. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, тире, цифр и знака подчеркивания в нижнем регистре # Алиас указывается без учета иерархичности. Для объявления из пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira/alias-moyego-obyavlenia, а только alias-moyego-obyavlenia # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)'''<br /> Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов.<br /> При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> <br /> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)'''<br /> Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления.<br /> Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира.<br /> Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/zhilaya/kvartira/ Жилая/Квартира/Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/kvartira/ Жилая/Квартира/Объявление - домен/realty17[.html] </pre> <br /> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)'''<br /> При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей.<br /> Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> <br /> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)'''<br /> По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. <br /><br /> '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)'''<br /> Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. <br /> Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> == Пример == Объект с ID=456.<br /> Алиас объекта nedorogaya-kvartira<br /> Расположен в разделе Продажа - Квартира с алиасами prodazha и kvartira<br /> {| class="wikitable" |- ! apps.seo.level_enable !! apps.seo.data_alias_enable !! apps.seo.html_prefix_enable !! Текст заголовка |- | 1 || 1 || 1 || prodazha/kvartira/nedorogaya-kvartira |- | 1 || 1 || 0 || prodazha/kvartira/nedorogaya-kvartira |- | 1 || 0 || 1 || prodazha/kvartira/realty456.html |- | 1 || 0 || 0 || prodazha/kvartira/realty456 |- | 0 || 1 || 1 || nedorogaya-kvartira |- | 0 || 1 || 0 || nedorogaya-kvartira |- | 0 || 0 || 1 || realty456.html |- | 0 || 0 || 0 || realty456 |} c47635ab5503046d0ca76634d7f462a15f118f3f 418 417 2016-04-07T18:30:54Z Abushyk 2 /* Пример */ wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Работа == Приложение располагает двумя доступными операциями<br /> * Обновить структуру каталогов * Обновить алиасы объявлений <br /> '''Обновить структуру каталогов'''<br /> Проходится по всем элементам структуры и формирует для них текстовые алиасы на основе транслитераии. Данные алиасы будут использоваться для формирования ссылок на категории. Сформированное значение будет записано в таблицу re_topic в поле url и, соответственно, это поле должно присутствовать в этой таблице. Формирование алиасов происходит только для тех элементов структуры, для которых эти алиасы еще не определены. Sitebill не следит за уникальностью этих алиасов. Поэтому, если вы присвоили пункту структуры Квартиры алиас zhilaya, то для пункта Жилая, если алиас не указан, при формировании будет присвоен такой же алиас, что приведет к не совсем логичной работе. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, цифр и знака подчеркивания в нижнем регистре # Алиас должен быть уникален в пределах структуры категорий # Алиас указывается без учета иерархичности. Для пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira, а только kvartira # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> '''Обновить алиасы объявлений'''<br /> Проходится по всем объявлениям и формирует для них текстовые алиасы, которые будут использованы при включенном режиме '''apps.seo.data_alias_enable''' на основе правил указанных в '''apps.seo.allow_custom_realty_aliases''' и '''apps.seo.allow_custom_realty_aliase_fields'''. Данные алиасы будут использоваться для формирования ссылок на объявления. Сформированное значение будет записано в таблицу re_data в поле translit_alias. Из чего следует, что модель вашего объявления должна иметь в своем составе поле с системным именем translit_alias. Формирование алиасов происходит только для тех объявлений, для которых эти алиасы еще не определены. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, тире, цифр и знака подчеркивания в нижнем регистре # Алиас указывается без учета иерархичности. Для объявления из пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira/alias-moyego-obyavlenia, а только alias-moyego-obyavlenia # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)'''<br /> Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов.<br /> При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> <br /> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)'''<br /> Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления.<br /> Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира.<br /> Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/zhilaya/kvartira/ Жилая/Квартира/Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/kvartira/ Жилая/Квартира/Объявление - домен/realty17[.html] </pre> <br /> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)'''<br /> При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей.<br /> Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> <br /> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)'''<br /> По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. <br /><br /> '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)'''<br /> Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. <br /> Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> == Пример == Объект с ID=456.<br /> Алиас объекта nedorogaya-kvartira<br /> Расположен в разделе Продажа - Квартира с алиасами prodazha и kvartira<br /> {| class="wikitable" |- ! apps.seo.level_enable !! apps.seo.data_alias_enable !! apps.seo.html_prefix_enable !! Конечный вид ссылки !! Прим. |- | 1 || 1 || 1 || prodazha/kvartira/nedorogaya-kvartira || Если translit_alias не указан, то prodazha/kvartira/realty456.html |- | 1 || 1 || 0 || prodazha/kvartira/nedorogaya-kvartira || Если translit_alias не указан, то prodazha/kvartira/realty456 |- | 1 || 0 || 1 || prodazha/kvartira/realty456.html || |- | 1 || 0 || 0 || prodazha/kvartira/realty456 || |- | 0 || 1 || 1 || nedorogaya-kvartira || Если translit_alias не указан, то realty456.html |- | 0 || 1 || 0 || nedorogaya-kvartira || Если translit_alias не указан, то realty456 |- | 0 || 0 || 1 || realty456.html || |- | 0 || 0 || 0 || realty456 || |} 872410a05e80e7a215b6088791235a4f07bf9fa4 419 418 2016-04-07T19:10:50Z Abushyk 2 /* Пример */ wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Работа == Приложение располагает двумя доступными операциями<br /> * Обновить структуру каталогов * Обновить алиасы объявлений <br /> '''Обновить структуру каталогов'''<br /> Проходится по всем элементам структуры и формирует для них текстовые алиасы на основе транслитераии. Данные алиасы будут использоваться для формирования ссылок на категории. Сформированное значение будет записано в таблицу re_topic в поле url и, соответственно, это поле должно присутствовать в этой таблице. Формирование алиасов происходит только для тех элементов структуры, для которых эти алиасы еще не определены. Sitebill не следит за уникальностью этих алиасов. Поэтому, если вы присвоили пункту структуры Квартиры алиас zhilaya, то для пункта Жилая, если алиас не указан, при формировании будет присвоен такой же алиас, что приведет к не совсем логичной работе. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, цифр и знака подчеркивания в нижнем регистре # Алиас должен быть уникален в пределах структуры категорий # Алиас указывается без учета иерархичности. Для пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira, а только kvartira # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> '''Обновить алиасы объявлений'''<br /> Проходится по всем объявлениям и формирует для них текстовые алиасы, которые будут использованы при включенном режиме '''apps.seo.data_alias_enable''' на основе правил указанных в '''apps.seo.allow_custom_realty_aliases''' и '''apps.seo.allow_custom_realty_aliase_fields'''. Данные алиасы будут использоваться для формирования ссылок на объявления. Сформированное значение будет записано в таблицу re_data в поле translit_alias. Из чего следует, что модель вашего объявления должна иметь в своем составе поле с системным именем translit_alias. Формирование алиасов происходит только для тех объявлений, для которых эти алиасы еще не определены. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, тире, цифр и знака подчеркивания в нижнем регистре # Алиас указывается без учета иерархичности. Для объявления из пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira/alias-moyego-obyavlenia, а только alias-moyego-obyavlenia # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)'''<br /> Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов.<br /> При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> <br /> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)'''<br /> Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления.<br /> Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира.<br /> Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/zhilaya/kvartira/ Жилая/Квартира/Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/kvartira/ Жилая/Квартира/Объявление - домен/realty17[.html] </pre> <br /> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)'''<br /> При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей.<br /> Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> <br /> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)'''<br /> По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. <br /><br /> '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)'''<br /> Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. <br /> Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> == Пример == '''Ссылка объявления'''<br /> Объект с ID=456.<br /> Алиас объекта nedorogaya-kvartira<br /> Расположен в разделе Продажа - Квартира с алиасами prodazha и kvartira<br /> {| class="wikitable" |- ! apps.seo.level_enable !! apps.seo.data_alias_enable !! apps.seo.html_prefix_enable !! Конечный вид ссылки !! Прим. |- | 1 || 1 || 1 || prodazha/kvartira/nedorogaya-kvartira || Если translit_alias не указан, то prodazha/kvartira/realty456.html |- | 1 || 1 || 0 || prodazha/kvartira/nedorogaya-kvartira || Если translit_alias не указан, то prodazha/kvartira/realty456 |- | 1 || 0 || 1 || prodazha/kvartira/realty456.html || |- | 1 || 0 || 0 || prodazha/kvartira/realty456 || |- | 0 || 1 || 1 || nedorogaya-kvartira || Если translit_alias не указан, то realty456.html |- | 0 || 1 || 0 || nedorogaya-kvartira || Если translit_alias не указан, то realty456 |- | 0 || 0 || 1 || realty456.html || |- | 0 || 0 || 0 || realty456 || |} '''Ссылка категории'''<br /> {| class="wikitable" |- ! apps.seo.level_enable !! Конечный вид ссылки !! Прим. |- | 1 || prodazha/kvartira/nedorogaya-kvartira || Если translit_alias не указан, то prodazha/kvartira/realty456.html |- | 0 || prodazha/kvartira/nedorogaya-kvartira || Если translit_alias не указан, то prodazha/kvartira/realty456 |} 69001dcf7912b672441c0581444f9a70ce0a5aa0 420 419 2016-04-07T19:12:26Z Abushyk 2 /* Пример */ wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Работа == Приложение располагает двумя доступными операциями<br /> * Обновить структуру каталогов * Обновить алиасы объявлений <br /> '''Обновить структуру каталогов'''<br /> Проходится по всем элементам структуры и формирует для них текстовые алиасы на основе транслитераии. Данные алиасы будут использоваться для формирования ссылок на категории. Сформированное значение будет записано в таблицу re_topic в поле url и, соответственно, это поле должно присутствовать в этой таблице. Формирование алиасов происходит только для тех элементов структуры, для которых эти алиасы еще не определены. Sitebill не следит за уникальностью этих алиасов. Поэтому, если вы присвоили пункту структуры Квартиры алиас zhilaya, то для пункта Жилая, если алиас не указан, при формировании будет присвоен такой же алиас, что приведет к не совсем логичной работе. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, цифр и знака подчеркивания в нижнем регистре # Алиас должен быть уникален в пределах структуры категорий # Алиас указывается без учета иерархичности. Для пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira, а только kvartira # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> '''Обновить алиасы объявлений'''<br /> Проходится по всем объявлениям и формирует для них текстовые алиасы, которые будут использованы при включенном режиме '''apps.seo.data_alias_enable''' на основе правил указанных в '''apps.seo.allow_custom_realty_aliases''' и '''apps.seo.allow_custom_realty_aliase_fields'''. Данные алиасы будут использоваться для формирования ссылок на объявления. Сформированное значение будет записано в таблицу re_data в поле translit_alias. Из чего следует, что модель вашего объявления должна иметь в своем составе поле с системным именем translit_alias. Формирование алиасов происходит только для тех объявлений, для которых эти алиасы еще не определены. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, тире, цифр и знака подчеркивания в нижнем регистре # Алиас указывается без учета иерархичности. Для объявления из пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira/alias-moyego-obyavlenia, а только alias-moyego-obyavlenia # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)'''<br /> Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов.<br /> При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> <br /> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)'''<br /> Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления.<br /> Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира.<br /> Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/zhilaya/kvartira/ Жилая/Квартира/Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/kvartira/ Жилая/Квартира/Объявление - домен/realty17[.html] </pre> <br /> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)'''<br /> При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей.<br /> Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> <br /> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)'''<br /> По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. <br /><br /> '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)'''<br /> Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. <br /> Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> == Пример == '''Ссылка объявления'''<br /> Объект с ID=456.<br /> Алиас объекта nedorogaya-kvartira<br /> Расположен в разделе Продажа - Квартира с алиасами prodazha и kvartira<br /> {| class="wikitable" |- ! apps.seo.level_enable !! apps.seo.data_alias_enable !! apps.seo.html_prefix_enable !! Конечный вид ссылки !! Прим. |- | 1 || 1 || 1 || prodazha/kvartira/nedorogaya-kvartira || Если translit_alias не указан, то prodazha/kvartira/realty456.html |- | 1 || 1 || 0 || prodazha/kvartira/nedorogaya-kvartira || Если translit_alias не указан, то prodazha/kvartira/realty456 |- | 1 || 0 || 1 || prodazha/kvartira/realty456.html || |- | 1 || 0 || 0 || prodazha/kvartira/realty456 || |- | 0 || 1 || 1 || nedorogaya-kvartira || Если translit_alias не указан, то realty456.html |- | 0 || 1 || 0 || nedorogaya-kvartira || Если translit_alias не указан, то realty456 |- | 0 || 0 || 1 || realty456.html || |- | 0 || 0 || 0 || realty456 || |} '''Ссылка категории'''<br /> Расположен в разделе Продажа - Квартира с алиасами prodazha и kvartira<br /> ID раздела 27<br /> {| class="wikitable" |- ! apps.seo.level_enable !! Конечный вид ссылки !! Прим. |- | 1 || prodazha/kvartira || Если url не указан, то topic27.html |- | 0 || topic27.html || |} 6525fc46ceaca636d8ff13884628a747cfe8f79d Параметры элементов модели 0 65 421 380 2016-04-14T04:12:28Z Kondin 1 wikitext text/x-wiki Тонкая настройка элементов модели может производиться указанием специфичных параметров. Указание параметров производится в форме редактирования элемента модели в секции Параметры, где можно указать нужные параметры в виде пар значений - имя параметра, значение параметра. == textarea_editor == width - ширина элемента редактора в пикселях. Любое целое число. == textarea == rows - высота поля текстового ввода в строках. Любое целое число. cols - ширина поля текстового ввода в символах. Любое целое число. lined modal_input allow_htmltags == datetime == inFormFormat format noSeconds == docuploads == max_file_size - Максимальный размер загружаемого файла в мегабайтах. accepted - перечень допустимых расширений файлов для загрузки. Текстовое. Указывается в виде .doc,.xls,.pdf без пробелов. == dtdate == == dtdatetime == noSeconds == dttime == noSeconds == email == аналогично safe_string == gadres == styles - строка стилей css в таком виде, как если бы они задавались inline. == geodata == map_width - ширина карты указания координат в пикселях. map_height - высота карты указания координат в пикселях. map_view_type - тип подложки карты (m-карта|h-гибрид|s-спутник|p-народная карта(только для Yandex Maps)) confields - список полей модели, изменение которых будет провоцировать авторазмещение маркера на карте согласно данных, указанных в этих полях. == mobilephone == mask - маска поля в виде строки h (hhh) hhh-hh-hh == safe_string == styles onclick onchange == select_box_by_query == linked depended autocomplete autocomplete_notappend autocomplete_dep_el autocomplete_dep_el_key onchange == uploadify == button_name == uploads == accepted norm_width norm_height prev_width prev_height preview_smart_resizing<br/> Параметр указывает на минимальное количество фотографий для объявления min_img_count = 1 {| class="wikitable" |- ! Текст заголовка !! Текст заголовка !! Текст заголовка |- | Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки |} c43d2035fd21da42b86f069344316bfeba678aae Перевод 0 38 422 400 2016-04-19T09:28:57Z Kondin 1 wikitext text/x-wiki == Рекомендуемый быстрый способ перевода сайта == Вы можете использовать переводчик от Google, тут инструкция https://translate.google.com/manager/website/<br/> Это самый быстрый способ и не требует от вас дополнительных усилий.<br/> == Ручной перевод == Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для активации мультиязычного режима нужно включить в настройках во вкладке Редактор переводов опцию Использовать мультиязычность (apps.language.use_langs) - установите там значение 1.<br/> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.<br /> Например, нужно сделать перевод для поля text (описание) на английский язык (en).<br /> Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.<br /> В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.<br /> Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br /> Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. === Локализации === Языки подключаются в два этапа - этап локализации системы и этап локализации приложения ==== Этап локализации системы ==== Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language.<br /> В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1.<br /> Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык.<br /> ==== Этап локализации приложения ==== Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения. Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language.<br /> Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные ==== Редактор языков в админке ==== В новых версиях создан редактор языков в панели управления '''Приложения - Редактор переводов''' ==== Необходимые изменения в базе данных ==== Когда вы добавляете свой язык, вам необходимо добавить дополнительные поля в базе данных с помощью этих команд:<br /> alter table re_topic add column name_яз varchar(255);<br /> alter table re_menu_structure add column name_яз varchar(255);<br /> Где яз - это ваш языковой префикс. Например, если вы добавили японский язык, тогда яз = jp<br /> <br /> ==== Перевод шаблонов ==== <br/> Для того чтобы создавать языковые файлы в шаблоне, необходимо создать каталог в шаблоне<br/> /template/frontend/ваш_шаблон/language/ru/dictionary.ini (для русского языка)<br/> /template/frontend/ваш_шаблон/language/en/dictionary.ini (для английского языка)<br/> <br/> Вот пример dictionary.ini для русского языка<br/> LT_NEWS="Новости" LT_FOR_USER="Пользователю" LT_USEFUL="Полезное" LT_SPECIAL="Спецпредложение" LT_WE_OFFER="Мы предлагаем" LT_LIST="Список" LT_GRID="Сетка" LT_ORDER="Порядок" LT_SORTBY="Сортировать" LT_ORDER_UP="по возрастанию" LT_ORDER_DOWN="по убыванию" LT_SEARCH="Поиск" LT_VIEW_DETAILS="Подробнее" LT_CONTACT_AGENT="Связаться с агентом" LT_DESCRIPTION="Описание" LT_LOCATION="Расположение" LT_ADD_YOUR_OWN="Добавить свое объявление" LT_ADD_YOUR_OWN_DESC="На нашем сайте вы можете добавить информацию о своей недвижимости" LT_SCROLLUP="Наверх" LT_RENT_FLAT="Снять квартиру" LT_RENT_FLAT_DESC="Интересно арендовать, тогда заполните форму и мы подберем вам вариант" LT_MORTGAGES="Ипотека" LT_MORTGAGES_DESC="Быстро оформить ипотеку и жить в своей квартире, это проще чем думается." LT_SEARCH="Поиск" LT_NEW_OBJECTS="Новые объекты" LT_CONTACTUS="Написать нам" LT_ABOUT="О нас" Теперь внутри шаблона, например, в файле спец.предложений можно заменить слово Спец.предложения на языковую переменную, которая будет переводиться в соответствии с выбранным языком<br/> /template/frontend/ваш_шаблон/top_special.tpl<br/> Меняем слово Спец.предложения на {$L_SPECIAL_OFFERS}<br/> 63183c2eefd62b112dff40b1627a4d675bca2389 Free-kassa.ru (модуль оплаты) 0 67 423 2016-04-28T06:49:15Z Abushyk 2 Новая страница: «Для перевода модуля оплаты через Robokassa на интерфейс Freekassa.ru необходимо слелать следующее…» wikitext text/x-wiki Для перевода модуля оплаты через Robokassa на интерфейс Freekassa.ru необходимо слелать следующее: 1. В Настройки - Общее установить опцию "Работа модуля ROBOKASSA через интерфейс FREEKASSA" 2. В Настройки - Общее в полях указывающих подключение к интерфейсу Робокассы указать параметры подключения к Freekassa.ru d0a38ea916b8d0cb39096a60470566906b002fba 425 423 2016-04-28T06:56:56Z Abushyk 2 wikitext text/x-wiki == Интеграция модуля Robkassa в интерфейс Freekassa.ru == Для перевода модуля оплаты через Robokassa на интерфейс Freekassa.ru необходимо слелать следующее:<br /> 1. В Настройки - Общее установить опцию "Работа модуля ROBOKASSA через интерфейс FREEKASSA"<br /> 2. В Настройки - Общее в полях, указывающих подключение к интерфейсу Робокассы, указать параметры подключения к Freekassa.ru<br /> Логин для robokassa.ru - указать ID мерчанта freekassa<br /> Пароль 1 для robokassa.ru - указать секретное слово1 freekassa<br /> Пароль 2 для robokassa.ru - указать секретное слово2 freekassa<br /> 3. В настроках кабинета Freekassa.ru настроить интеграцию модуля оплаты для системы Robokassa согласно рекомендациям Freekassa. В качестве '''URL оповещения''' следует указать адрес ваш_сайт/robox/result/ , а в качестве '''URL возврата в случае успеха''' - адрес ваш_сайт/robox/адрес ваш_сайт/robox/success/ db45045070f69fa15c59b4db6f44dd7fbd5c5c6f 426 425 2016-04-28T06:57:21Z Abushyk 2 wikitext text/x-wiki == Интеграция модуля Robkassa в интерфейс Freekassa.ru == Для перевода модуля оплаты через Robokassa на интерфейс Freekassa.ru необходимо слелать следующее:<br /> 1. В Настройки - Общее установить опцию ''"Работа модуля ROBOKASSA через интерфейс FREEKASSA"''<br /> 2. В Настройки - Общее в полях, указывающих подключение к интерфейсу Робокассы, указать параметры подключения к Freekassa.ru<br /> Логин для robokassa.ru - указать ID мерчанта freekassa<br /> Пароль 1 для robokassa.ru - указать секретное слово1 freekassa<br /> Пароль 2 для robokassa.ru - указать секретное слово2 freekassa<br /> 3. В настроках кабинета Freekassa.ru настроить интеграцию модуля оплаты для системы Robokassa согласно рекомендациям Freekassa. В качестве '''URL оповещения''' следует указать адрес ваш_сайт/robox/result/ , а в качестве '''URL возврата в случае успеха''' - адрес ваш_сайт/robox/адрес ваш_сайт/robox/success/ 7e9d860c71d31938a16b9cf847a397874d309984 427 426 2016-04-28T06:58:33Z Abushyk 2 wikitext text/x-wiki == Интеграция модуля Robkassa в интерфейс Freekassa.ru == Для перевода модуля оплаты через Robokassa на интерфейс Freekassa.ru необходимо слелать следующее:<br /> 1. В Настройки - Общее установить опцию ''"Работа модуля ROBOKASSA через интерфейс FREEKASSA"''<br /> 2. В Настройки - Общее в полях, указывающих подключение к интерфейсу Робокассы, указать параметры подключения к Freekassa.ru<br /> '''Логин для robokassa.ru''' - указать ID мерчанта freekassa<br /> '''Пароль 1 для robokassa.ru''' - указать секретное слово1 freekassa<br /> '''Пароль 2 для robokassa.ru''' - указать секретное слово2 freekassa<br /> 3. В настроках кабинета Freekassa.ru настроить интеграцию модуля оплаты для системы Robokassa согласно рекомендациям Freekassa. В качестве '''URL оповещения''' следует указать адрес ваш_сайт/robox/result/ , а в качестве '''URL возврата в случае успеха''' - адрес ваш_сайт/robox/адрес ваш_сайт/robox/success/ <br /> Остальные настройки, связанные с модулем Робокассы, в режиме интеграции не учитываются. 3a15aeab7a2fba4d502234ad65b3109f0b8ab4ee 428 427 2016-04-28T06:58:54Z Abushyk 2 wikitext text/x-wiki == Интеграция модуля Robkassa в интерфейс Freekassa.ru == Для перевода модуля оплаты через Robokassa на интерфейс Freekassa.ru необходимо слелать следующее:<br /> 1. В Настройки - Общее установить опцию ''"Работа модуля ROBOKASSA через интерфейс FREEKASSA"''<br /> 2. В Настройки - Общее в полях, указывающих подключение к интерфейсу Робокассы, указать параметры подключения к Freekassa.ru<br /> '''Логин для robokassa.ru''' - указать ID мерчанта freekassa<br /> '''Пароль 1 для robokassa.ru''' - указать секретное слово1 freekassa<br /> '''Пароль 2 для robokassa.ru''' - указать секретное слово2 freekassa<br /> 3. В настроках кабинета Freekassa.ru настроить интеграцию модуля оплаты для системы Robokassa согласно рекомендациям Freekassa. В качестве '''URL оповещения''' следует указать адрес ваш_сайт/robox/result/ , а в качестве '''URL возврата в случае успеха''' - адрес ваш_сайт/robox/адрес ваш_сайт/robox/success/ <br /> Остальные настройки, связанные с модулем Робокассы, в режиме интеграции не учитываются. 65715e9bf2877bd5132b3bcc5a964057565cb7c7 429 428 2016-04-28T07:00:21Z Abushyk 2 wikitext text/x-wiki == Интеграция модуля Robkassa в интерфейс Freekassa.ru == Для перевода модуля оплаты через Robokassa на интерфейс Freekassa.ru необходимо слелать следующее:<br /> 1. В Настройки - Общее установить опцию ''"Работа модуля ROBOKASSA через интерфейс FREEKASSA"''<br /> 2. В Настройки - Общее в полях, указывающих подключение к интерфейсу Робокассы, указать параметры подключения к Freekassa.ru<br /> '''Логин для robokassa.ru''' - указать ID мерчанта freekassa<br /> '''Пароль 1 для robokassa.ru''' - указать секретное слово1 freekassa<br /> '''Пароль 2 для robokassa.ru''' - указать секретное слово2 freekassa<br /> Адрес службы приема платежей robokassa.ru - указать адрес платежной системы http://www.free-kassa.ru/merchant/cash.php<br /> 3. В настроках кабинета Freekassa.ru настроить интеграцию модуля оплаты для системы Robokassa согласно рекомендациям Freekassa. В качестве '''URL оповещения''' следует указать адрес ваш_сайт/robox/result/ , а в качестве '''URL возврата в случае успеха''' - адрес ваш_сайт/robox/адрес ваш_сайт/robox/success/ <br /> Остальные настройки, связанные с модулем Робокассы, в режиме интеграции не учитываются. 8f5a26f4227be4d03b4ad9f644eadf700b3cba08 430 429 2016-04-28T07:01:02Z Abushyk 2 wikitext text/x-wiki == Интеграция модуля Robkassa в интерфейс Freekassa.ru == Для перевода модуля оплаты через Robokassa на интерфейс Freekassa.ru необходимо слелать следующее:<br /> 1. В Настройки - Общее установить опцию ''"Работа модуля ROBOKASSA через интерфейс FREEKASSA"''<br /> 2. В Настройки - Общее в полях, указывающих подключение к интерфейсу Робокассы, указать параметры подключения к Freekassa.ru<br /> '''Логин для robokassa.ru''' - указать ID мерчанта freekassa<br /> '''Пароль 1 для robokassa.ru''' - указать секретное слово1 freekassa<br /> '''Пароль 2 для robokassa.ru''' - указать секретное слово2 freekassa<br /> Адрес службы приема платежей robokassa.ru - указать адрес платежной системы http://www.free-kassa.ru/merchant/cash.php<br /> 3. В настроках кабинета Freekassa.ru настроить интеграцию модуля оплаты для системы Robokassa согласно [http://www.free-kassa.ru/docs/api.php#integration рекомендациям Freekassa]. В качестве '''URL оповещения''' следует указать адрес ваш_сайт/robox/result/ , а в качестве '''URL возврата в случае успеха''' - адрес ваш_сайт/robox/адрес ваш_сайт/robox/success/ <br /> Остальные настройки, связанные с модулем Робокассы, в режиме интеграции не учитываются. cd0dcf878d25c9536fcb590a25132f62777874e1 452 430 2016-06-02T09:25:43Z Kondin 1 wikitext text/x-wiki == Интеграция модуля Robkassa в интерфейс Freekassa.ru == Для перевода модуля оплаты через Robokassa на интерфейс Freekassa.ru необходимо слелать следующее:<br /> 1. В Настройки - Общее установить опцию ''"Работа модуля ROBOKASSA через интерфейс FREEKASSA"''<br /> 2. В Настройки - Общее в полях, указывающих подключение к интерфейсу Робокассы, указать параметры подключения к Freekassa.ru<br /> '''Логин для robokassa.ru''' - указать ID мерчанта freekassa<br /> '''Пароль 1 для robokassa.ru''' - указать секретное слово1 freekassa<br /> '''Пароль 2 для robokassa.ru''' - указать секретное слово2 freekassa<br /> Адрес службы приема платежей robokassa.ru - указать адрес платежной системы http://www.free-kassa.ru/merchant/cash.php<br /> 3. В настроках кабинета Freekassa.ru настроить интеграцию модуля оплаты для системы Robokassa согласно [http://www.free-kassa.ru/docs/api.php#integration рекомендациям Freekassa]. <br/> В качестве '''URL оповещения''' следует указать адрес '''ваш_сайт/robox/result/''' <br/> В качестве '''URL возврата в случае успеха''' - адрес '''ваш_сайт/robox/success/'''<br/> В качестве '''URL возврата в случае неудачи''' - адрес '''ваш_сайт/robox/fail/'''<br/> <br /> Остальные настройки, связанные с модулем Робокассы, в режиме интеграции не учитываются. 77bf098825f221c7e8541f2f964c59ad45212172 Приложения 0 6 424 389 2016-04-28T06:49:45Z Abushyk 2 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"]]<br /> [[Приложение "RSS новостей сайта"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 112b4c75c55a5c0501989b0b188459ef87c511f0 433 424 2016-05-04T10:29:54Z Abushyk 2 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) a5c36a0c6b01f2b56c11f8a6189af6e335a9bc52 436 433 2016-05-04T10:37:28Z Abushyk 2 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость" (для версии 2)|Приложение "Выгрузка Авито.Недвижимость"]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) a15155f5bdde8793293d3143e117bcc754812650 437 436 2016-05-04T10:37:44Z Abushyk 2 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 8033c6b12e2df2cc81d60075b9c35b343ac9195f 438 437 2016-05-04T10:38:14Z Abushyk 2 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 49a9b1e5107388ad0993dc0f70ec988ffa91a2ae Приложение "Выгрузка Авито.Недвижимость" 0 61 431 359 2016-05-04T10:26:30Z Kondin 1 wikitext text/x-wiki == Запуск == Данное приложение не имеет фронтальной части. Для того, что бы активизировать его работу необходимо в своем файле /main/main.php шаблона осуществить перехват адреса выгрузки. Для этого в указанном файле необходимо разместить блок <pre> if($REQUESTURIPATH=='алиас_выгрузки'){ require_once SITEBILL_DOCUMENT_ROOT.'/apps/avitorealty/admin/admin.php'; $ARE=new avitorealty_admin(); header("Content-Type: text/xml"); $ARE->export(); exit(); } </pre> Данный блок должен быть размещен максимально вверху функции main(), но не выше строки <pre>$REQUESTURIPATH=Sitebill::getClearRequestURI();</pre> В качестве ''алиас_выгрузки'' может использоваться любой буквенно-цифровой алиас, например ''avitorealty'' == Настройки == Если в Вашей модели объявления нет поля date_edit, то Вам необходимо отметить галочку Настройки - Выгрузка Авито.Недвижимость - Не использовать поле date_edit (apps.avitorealty.no_dateeditfield)<br /> Если в Вашей модели объявлений есть отдельное поле указывающее тип контракта (продажа\аренда), необходимо указать в настройках системное имя этого поля и значения соотв. для конкретных типов.<br /> Напр. если у Вас используется поле optype (Тип операции) с вариантами значений 1-Аренда и 2-Продажа, тогда в Настройки - Выгрузка Авито.Недвижимость - Поле:Значение отвечающие за признак продажи (apps.avitorealty.sell) нужно указать optype:2 а в Настройки - Выгрузка Авито.Недвижимость - Поле:Значение отвечающие за признак аренды (apps.avitorealty.rent) - optype:1<br /> Если отдельного поля типа контракта нет, а тип контракта указан в виде раздела в Структуре, тога эти поля оставляются незаполненными, а соотв. тип контракта указывается в ассоциациях типов.<br /> Перед началом выгрузки необходимо проассоциировать Ваши типы недвижимости соотв. типами присущими Avito. Это делается в административной части приложения. При установке ассоциаций, если у Вас используется отдельно поле для типа контракта, поле Тип операции следует оставлять в состоянии "Игнорировать" и указывать только тип и категорию недвижимости. == Настройки ==<br /> http://ваш_сайт/cache/avitoexporter.last.log.xml<br /> 08c3cb1afb3112a9efb131dd4942afa02800c7ff 439 431 2016-05-04T10:40:35Z Abushyk 2 wikitext text/x-wiki Данное приложение рассчитано на выгрузку под формат AVITO 2. Поскольку данный формат является устаревшим и заменен на формат AVITO 3, то рекомендуется использовать для выгрузки приложение [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]]<br /> Данное приложение остается рабочим, но дальнейшие его обновления маловероятны.<br /> == Запуск == Данное приложение не имеет фронтальной части. Для того, что бы активизировать его работу необходимо в своем файле /main/main.php шаблона осуществить перехват адреса выгрузки. Для этого в указанном файле необходимо разместить блок <pre> if($REQUESTURIPATH=='алиас_выгрузки'){ require_once SITEBILL_DOCUMENT_ROOT.'/apps/avitorealty/admin/admin.php'; $ARE=new avitorealty_admin(); header("Content-Type: text/xml"); $ARE->export(); exit(); } </pre> Данный блок должен быть размещен максимально вверху функции main(), но не выше строки <pre>$REQUESTURIPATH=Sitebill::getClearRequestURI();</pre> В качестве ''алиас_выгрузки'' может использоваться любой буквенно-цифровой алиас, например ''avitorealty'' == Настройки == Если в Вашей модели объявления нет поля date_edit, то Вам необходимо отметить галочку Настройки - Выгрузка Авито.Недвижимость - Не использовать поле date_edit (apps.avitorealty.no_dateeditfield)<br /> Если в Вашей модели объявлений есть отдельное поле указывающее тип контракта (продажа\аренда), необходимо указать в настройках системное имя этого поля и значения соотв. для конкретных типов.<br /> Напр. если у Вас используется поле optype (Тип операции) с вариантами значений 1-Аренда и 2-Продажа, тогда в Настройки - Выгрузка Авито.Недвижимость - Поле:Значение отвечающие за признак продажи (apps.avitorealty.sell) нужно указать optype:2 а в Настройки - Выгрузка Авито.Недвижимость - Поле:Значение отвечающие за признак аренды (apps.avitorealty.rent) - optype:1<br /> Если отдельного поля типа контракта нет, а тип контракта указан в виде раздела в Структуре, тога эти поля оставляются незаполненными, а соотв. тип контракта указывается в ассоциациях типов.<br /> Перед началом выгрузки необходимо проассоциировать Ваши типы недвижимости соотв. типами присущими Avito. Это делается в административной части приложения. При установке ассоциаций, если у Вас используется отдельно поле для типа контракта, поле Тип операции следует оставлять в состоянии "Игнорировать" и указывать только тип и категорию недвижимости. == Настройки ==<br /> http://ваш_сайт/cache/avitoexporter.last.log.xml<br /> a7c8be90f40b1bc5877a4c17a0e7c2e9eebe56ba Приложение "Выгрузка AVITO" 0 68 432 2016-05-04T10:29:25Z Abushyk 2 Новая страница: «Выгрузка AVITO» wikitext text/x-wiki Выгрузка AVITO b54cca7263ee1d9c05c5ce1c00ddcb92f6fb4a5a 434 432 2016-05-04T10:31:41Z Abushyk 2 wikitext text/x-wiki Выгрузка AVITO === Отслеживание результатов выгрузки === Просмотреть отчет о последней выгрузке Вы можете по адресу ВАШ_САЙТ/cache/avitoexporter.last.log.xml c1aa7f7e1920d251d88c6d13699d039309d20de5 435 434 2016-05-04T10:32:19Z Abushyk 2 wikitext text/x-wiki Выгрузка AVITO == Отслеживание результатов выгрузки == Просмотреть отчет о последней выгрузке Вы можете по адресу ВАШ_САЙТ/cache/avitoexporter.last.log.xml f47badf0d82031ee31b970251e0dc9ca8414f16e Приложение "Выгрузка Afy.ru" 0 41 440 292 2016-05-04T10:49:06Z Kondin 1 wikitext text/x-wiki Примечание: данное приложение работает как дополнение к CMS Sitebill http://www.sitebill.ru/<br/> Скопируйте приложение в каталог ./apps/afyexporter/<br/> Запустите сначала приложение через панель управления. Для этого зайдите в Приложения – Выгрузка AFY. В момент запуска будут прописаны конфигурационные параметры. <br/> После этого нужно зайти в настройки в закладку Выгрузка AFY. Тут вам нужно прописать страну по-умолчанию. Например, Россия.<br/> Затем с помощью конструктора полей форм вам нужно добавить новые колонки в таблицу data.<br/> price_per "Цена за" - селектбокс<br/> {0~~за все} {1~~за квадратный метр} {2~~за сотку} {3~~за гектар}<br/> square_unit "Единица площади" - селектбокс<br/> {0~~квадратный метр} {2~~сотка} {3~~гектар}<br/> Оба значение по-умолчанию 0.<br/> export_afy Вынружать в AFY чекбокс, значение по-умолчанию 0<br/> <br/> Также вам в настройках нужно включить использование нескольких валют.<br/> И нужно установить соответствия каждой категории. Заходим в Приложения – Выгрузка AFY. Нажимаем кнопку Установка ассоциаций. Здесь необходимо для каждой родительской категории установить Тип недвижимости. <br/>Можно нажать галочку «унаследовать потомкам». В этом случае этот тип недвижимости автоматически будет присвоен всем дочерним категориям.<br/> Теперь можно выгружать объявления. Для этого служит адрес http://ваш_сайт/afyexporter/<br/> Все вопросы можно обсудить на форуме: http://www.etown.ru/s/<br/> <br/> '''Обработка ошибок'''<br/> Для того чтобы определить почему не выгружаются объявления, можно посмотреть файл лога. Находится он по адресу http://ваш_сайт/apps/afyexporter/logs/export_logs.txt be8611097ed898483a5575d716428161ec244350 441 440 2016-05-04T10:51:08Z Kondin 1 wikitext text/x-wiki Примечание: данное приложение работает как дополнение к CMS Sitebill http://www.sitebill.ru/<br/> '''Установка'''<br/> Скопируйте приложение в каталог ./apps/afyexporter/<br/> Запустите сначала приложение через панель управления. Для этого зайдите в Приложения – Выгрузка AFY. В момент запуска будут прописаны конфигурационные параметры. <br/> Запустите установку таблиц http://ваш_сайт/admin/index.php?action=afyexporter&do=install <br/> После этого нужно зайти в настройки в закладку Выгрузка AFY. Тут вам нужно прописать страну по-умолчанию. Например, Россия.<br/> Затем с помощью конструктора полей форм вам нужно добавить новые колонки в таблицу data.<br/> price_per "Цена за" - селектбокс<br/> {0~~за все} {1~~за квадратный метр} {2~~за сотку} {3~~за гектар}<br/> square_unit "Единица площади" - селектбокс<br/> {0~~квадратный метр} {2~~сотка} {3~~гектар}<br/> Оба значение по-умолчанию 0.<br/> export_afy Вынружать в AFY чекбокс, значение по-умолчанию 0<br/> <br/> Также вам в настройках нужно включить использование нескольких валют.<br/> И нужно установить соответствия каждой категории. Заходим в Приложения – Выгрузка AFY. Нажимаем кнопку Установка ассоциаций. Здесь необходимо для каждой родительской категории установить Тип недвижимости. <br/>Можно нажать галочку «унаследовать потомкам». В этом случае этот тип недвижимости автоматически будет присвоен всем дочерним категориям.<br/> Теперь можно выгружать объявления. Для этого служит адрес http://ваш_сайт/afyexporter/<br/> Все вопросы можно обсудить на форуме: http://www.etown.ru/s/<br/> <br/> '''Обработка ошибок'''<br/> Для того чтобы определить почему не выгружаются объявления, можно посмотреть файл лога. Находится он по адресу http://ваш_сайт/apps/afyexporter/logs/export_logs.txt e8fabfa74b1988736ccbcbc5882603cca17e6ba9 Приложение "PayPal" 0 62 442 362 2016-05-19T14:38:04Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.interkassa.com/ Interkassa]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> == Предварительные действия == * Создать аккаунт на сайте системы Interkassa * Создать кассу для вашего сайта и подтвердить права на сайт * Заполнить настройки кассы в разделе Интерфейс == Настройки кассы "Интерфейс" == '''URL успешной оплаты''' - <nowiki>http://ваш_домен/account/balance/</nowiki><br /> '''URL неуспешной оплаты''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''URL ожидания проведения платежа''' - произвольный.<br /> '''URL взаимодействия''' - <nowiki>http://ваш_домен/apps/interkassa/listener.php</nowiki> == Настройки приложения == '''Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key)''' - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. <br /> '''Interkassa секретный ключ (apps.interkassa.secret_key)''' - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. <br /> '''ID кассы (apps.interkassa.kassa_id)''' - числобуквенный идентификатор кассы подключенной к данному сайту. <br /> '''Код валюты (apps.interkassa.currency_code)''' - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH <br /> '''Срок жизни платежа в днях (apps.interkassa.expiration_time)''' - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/ Обсуждение на форуме http://www.etown.ru/s/topic/1740-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%BD%D0%BE%D0%B9-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-paypal/?hl=paypal d2403cb86f26a39c4bdac23a772e816bff7487ae 443 442 2016-05-19T14:39:07Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.paypal.com/ PayPal]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> Оплата производится в долларах США <br /> == Предварительные действия == * Создать аккаунт на сайте системы Interkassa * Создать кассу для вашего сайта и подтвердить права на сайт * Заполнить настройки кассы в разделе Интерфейс == Настройки кассы "Интерфейс" == '''URL успешной оплаты''' - <nowiki>http://ваш_домен/account/balance/</nowiki><br /> '''URL неуспешной оплаты''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''URL ожидания проведения платежа''' - произвольный.<br /> '''URL взаимодействия''' - <nowiki>http://ваш_домен/apps/interkassa/listener.php</nowiki> == Настройки приложения == '''Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key)''' - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. <br /> '''Interkassa секретный ключ (apps.interkassa.secret_key)''' - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. <br /> '''ID кассы (apps.interkassa.kassa_id)''' - числобуквенный идентификатор кассы подключенной к данному сайту. <br /> '''Код валюты (apps.interkassa.currency_code)''' - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH <br /> '''Срок жизни платежа в днях (apps.interkassa.expiration_time)''' - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/ Обсуждение на форуме http://www.etown.ru/s/topic/1740-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%BD%D0%BE%D0%B9-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-paypal/?hl=paypal 27859a1df5a35da6aefd159f2aa99e0c559f63aa 444 443 2016-05-19T14:40:48Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.paypal.com/ PayPal]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> Оплата производится в долларах США <br /> Механизм работы с мерчантом основан на системе IPN (https://developer.paypal.com/docs/classic/products/instant-payment-notification/) <br /> == Предварительные действия == * Создать аккаунт на сайте системы Interkassa * Создать кассу для вашего сайта и подтвердить права на сайт * Заполнить настройки кассы в разделе Интерфейс == Настройки кассы "Интерфейс" == '''URL успешной оплаты''' - <nowiki>http://ваш_домен/account/balance/</nowiki><br /> '''URL неуспешной оплаты''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''URL ожидания проведения платежа''' - произвольный.<br /> '''URL взаимодействия''' - <nowiki>http://ваш_домен/apps/interkassa/listener.php</nowiki> == Настройки приложения == '''Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key)''' - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. <br /> '''Interkassa секретный ключ (apps.interkassa.secret_key)''' - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. <br /> '''ID кассы (apps.interkassa.kassa_id)''' - числобуквенный идентификатор кассы подключенной к данному сайту. <br /> '''Код валюты (apps.interkassa.currency_code)''' - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH <br /> '''Срок жизни платежа в днях (apps.interkassa.expiration_time)''' - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/ Обсуждение на форуме http://www.etown.ru/s/topic/1740-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%BD%D0%BE%D0%B9-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-paypal/?hl=paypal 25010ab60851a6a3041c68cccb4e069c3cc00646 445 444 2016-05-19T14:41:31Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.paypal.com/ PayPal]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> Оплата производится в долларах США <br /> Механизм работы с мерчантом основан на системе IPN (https://developer.paypal.com/docs/classic/products/instant-payment-notification/) <br /> == Предварительные действия == * Необходимо создать бизнес-аккаунт на сайте системы PayPal == Настройки кассы "Интерфейс" == '''URL успешной оплаты''' - <nowiki>http://ваш_домен/account/balance/</nowiki><br /> '''URL неуспешной оплаты''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''URL ожидания проведения платежа''' - произвольный.<br /> '''URL взаимодействия''' - <nowiki>http://ваш_домен/apps/interkassa/listener.php</nowiki> == Настройки приложения == '''Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key)''' - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. <br /> '''Interkassa секретный ключ (apps.interkassa.secret_key)''' - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. <br /> '''ID кассы (apps.interkassa.kassa_id)''' - числобуквенный идентификатор кассы подключенной к данному сайту. <br /> '''Код валюты (apps.interkassa.currency_code)''' - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH <br /> '''Срок жизни платежа в днях (apps.interkassa.expiration_time)''' - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/ Обсуждение на форуме http://www.etown.ru/s/topic/1740-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%BD%D0%BE%D0%B9-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-paypal/?hl=paypal 8d61b499f61d8857462f0be942378507cc11262b 446 445 2016-05-19T14:49:18Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.paypal.com/ PayPal]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> Оплата производится в долларах США <br /> Механизм работы с мерчантом основан на системе IPN (https://developer.paypal.com/docs/classic/products/instant-payment-notification/) <br /> == Предварительные действия == * Необходимо создать бизнес-аккаунт на сайте системы PayPal == Настройки кассы "Интерфейс" == '''ID или email продавца''' - email зарегистрированный для бизнес-аккаунта или, для тестирования, email аккаунта продавца в PayPal Sandbox <br /> '''URL обработчика IPN запросов''' - <nowiki>http://ваш_домен/apps/paypal/listener.php</nowiki><br /> '''URL платежной системы''' - <nowiki>https://www.paypal.com/cgi-bin/webscr</nowiki> (для оплаты) или <nowiki>https://www.sandbox.paypal.com/cgi-bin/webscr</nowiki> (для тестирования с помощью Sandbox)<br /> '''URL страницы возврата''' - <nowiki>http://ваш_домен/account/balance/</nowiki><br /> '''URL страницы возврата отказа''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''Стоимость 1USD в валюте сайта''' - Коефициент используемый для пересчета сумм пополнения на сайте в доллар США. Десятичное число. В качестве разделителя целой и дробной частей используется точка (2.64)<br /> == Настройки приложения == '''Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key)''' - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. <br /> '''Interkassa секретный ключ (apps.interkassa.secret_key)''' - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. <br /> '''ID кассы (apps.interkassa.kassa_id)''' - числобуквенный идентификатор кассы подключенной к данному сайту. <br /> '''Код валюты (apps.interkassa.currency_code)''' - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH <br /> '''Срок жизни платежа в днях (apps.interkassa.expiration_time)''' - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/ Обсуждение на форуме http://www.etown.ru/s/topic/1740-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%BD%D0%BE%D0%B9-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-paypal/?hl=paypal fffeb73e3b1e033ee42970a07540392e244b79b8 447 446 2016-05-19T14:49:48Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.paypal.com/ PayPal]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> Оплата производится в долларах США <br /> Механизм работы с мерчантом основан на системе IPN (https://developer.paypal.com/docs/classic/products/instant-payment-notification/) <br /> == Предварительные действия == * Необходимо создать бизнес-аккаунт на сайте системы PayPal == Настройки приложения == '''ID или email продавца''' - email зарегистрированный для бизнес-аккаунта или, для тестирования, email аккаунта продавца в PayPal Sandbox <br /> '''URL обработчика IPN запросов''' - <nowiki>http://ваш_домен/apps/paypal/listener.php</nowiki><br /> '''URL платежной системы''' - <nowiki>https://www.paypal.com/cgi-bin/webscr</nowiki> (для оплаты) или <nowiki>https://www.sandbox.paypal.com/cgi-bin/webscr</nowiki> (для тестирования с помощью Sandbox)<br /> '''URL страницы возврата''' - <nowiki>http://ваш_домен/account/balance/</nowiki><br /> '''URL страницы возврата отказа''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''Стоимость 1USD в валюте сайта''' - Коефициент используемый для пересчета сумм пополнения на сайте в доллар США. Десятичное число. В качестве разделителя целой и дробной частей используется точка (2.64)<br /> == Настройки приложения == '''Interkassa секретный ключ (для тестирования) (apps.interkassa.test_secret_key)''' - секретный ключ из настроек кассы используемый для тестирования. Не используется при обычной работе приложения. <br /> '''Interkassa секретный ключ (apps.interkassa.secret_key)''' - секретный ("боевой") ключ из настроек кассы используемый при обычной работе приложения. <br /> '''ID кассы (apps.interkassa.kassa_id)''' - числобуквенный идентификатор кассы подключенной к данному сайту. <br /> '''Код валюты (apps.interkassa.currency_code)''' - буквенный код валюты обслуживающей кассы. Счет пользователя на сайте должен расцениваться в этой же валюте, так как зачисление средств после пополнения проходит без конвертации. Допустимые значения - USD, EUR, UAH <br /> '''Срок жизни платежа в днях (apps.interkassa.expiration_time)''' - указывает срок годности платежа. На основании этого параметра вычисляется крайний срок годности, который передается в Интеркассу. При попытке оплатить платеж в Интеркассе вне этого срока, будет выдано сообщение, что платеж устарел. https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/ Обсуждение на форуме http://www.etown.ru/s/topic/1740-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%BD%D0%BE%D0%B9-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-paypal/?hl=paypal 16b600ee5434b0e33131d4f1b06b261c8f1aa235 448 447 2016-05-19T14:51:09Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.paypal.com/ PayPal]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> Оплата производится в долларах США <br /> Механизм работы с мерчантом основан на системе IPN (https://developer.paypal.com/docs/classic/products/instant-payment-notification/) <br /> == Предварительные действия == * Необходимо создать бизнес-аккаунт на сайте системы PayPal == Настройки приложения == '''ID или email продавца''' - email зарегистрированный для бизнес-аккаунта или, для тестирования, email аккаунта продавца в PayPal Sandbox <br /> '''URL обработчика IPN запросов''' - <nowiki>http://ваш_домен/apps/paypal/listener.php</nowiki><br /> '''URL платежной системы''' - <nowiki>https://www.paypal.com/cgi-bin/webscr</nowiki> (для оплаты) или <nowiki>https://www.sandbox.paypal.com/cgi-bin/webscr</nowiki> (для тестирования с помощью Sandbox)<br /> '''URL страницы возврата''' - <nowiki>http://ваш_домен/account/balance/</nowiki><br /> '''URL страницы возврата отказа''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''Стоимость 1USD в валюте сайта''' - Коефициент используемый для пересчета сумм пополнения на сайте в доллар США. Десятичное число. В качестве разделителя целой и дробной частей используется точка (2.64)<br /> == Ссылки == https://developer.paypal.com/docs/classic/products/instant-payment-notification/<br /> [http://www.etown.ru/s/topic/1740-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%BD%D0%BE%D0%B9-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-paypal/?hl=paypal Обсуждение на форуме] a43a63400f9c0091572dc71d1d7201bd41471912 449 448 2016-05-19T14:51:46Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.paypal.com/ PayPal]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> Оплата производится в долларах США <br /> Механизм работы с мерчантом основан на системе IPN (https://developer.paypal.com/docs/classic/products/instant-payment-notification/) <br /> == Предварительные действия == * Необходимо создать бизнес-аккаунт на сайте системы PayPal == Настройки приложения == '''ID или email продавца''' - email зарегистрированный для бизнес-аккаунта или, для тестирования, email аккаунта продавца в PayPal Sandbox <br /> '''URL обработчика IPN запросов''' - <nowiki>http://ваш_домен/apps/paypal/listener.php</nowiki><br /> '''URL платежной системы''' - <nowiki>https://www.paypal.com/cgi-bin/webscr</nowiki> (для оплаты) или <nowiki>https://www.sandbox.paypal.com/cgi-bin/webscr</nowiki> (для тестирования с помощью Sandbox)<br /> '''URL страницы возврата''' - <nowiki>http://ваш_домен/account/balance/</nowiki><br /> '''URL страницы возврата отказа''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''Стоимость 1USD в валюте сайта''' - Коефициент используемый для пересчета сумм пополнения на сайте в доллар США. Десятичное число. В качестве разделителя целой и дробной частей используется точка (2.64)<br /> == Ссылки == [https://developer.paypal.com/docs/classic/products/instant-payment-notification/ Instant Payment Notification]<br /> [http://www.etown.ru/s/topic/1740-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%BD%D0%BE%D0%B9-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-paypal/?hl=paypal Обсуждение на форуме] 180a5cf2bc280d9fc988d5f8c1436f91c52f086d 450 449 2016-05-19T14:52:08Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.paypal.com/ PayPal]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> Оплата производится в долларах США <br /> Механизм работы с мерчантом основан на системе IPN (https://developer.paypal.com/docs/classic/products/instant-payment-notification/) <br /> == Предварительные действия == * Необходимо создать бизнес-аккаунт на сайте системы PayPal == Настройки приложения == '''ID или email продавца''' - email зарегистрированный для бизнес-аккаунта или, для тестирования, email аккаунта продавца в PayPal Sandbox <br /> '''URL обработчика IPN запросов''' - <nowiki>http://ваш_домен/apps/paypal/listener.php</nowiki><br /> '''URL платежной системы''' - <nowiki>https://www.paypal.com/cgi-bin/webscr</nowiki> (для оплаты) или <nowiki>https://www.sandbox.paypal.com/cgi-bin/webscr</nowiki> (для тестирования с помощью Sandbox)<br /> '''URL страницы возврата''' - <nowiki>http://ваш_домен/account/balance/</nowiki><br /> '''URL страницы возврата отказа''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''Стоимость 1USD в валюте сайта''' - Коефициент используемый для пересчета сумм пополнения на сайте в доллар США. Десятичное число. В качестве разделителя целой и дробной частей используется точка (2.64)<br /> == Ссылки == [https://developer.paypal.com/docs/classic/products/instant-payment-notification/ Instant Payment Notification]<br /> [http://www.etown.ru/s/topic/1740-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%BD%D0%BE%D0%B9-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-paypal/?hl=paypal Обсуждение на форуме] 8eef4356ab197d68becf983cf23142f290c9fdf5 Биллинг 0 13 451 323 2016-06-02T04:17:20Z Kondin 1 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 1a596338a9473658cf7e7285cab3a77359aa452b Приложение "Выгрузка ЦИАН" 0 7 453 249 2016-06-05T22:18:16Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === 45883516d7c55544c9f5b25873eff47c2b21e2c7 Приложение "Выгрузка ЦИАН" 0 7 454 453 2016-06-05T22:29:12Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === apps.cianexporter.text (Заменитель текста объявления) - укажите текст, который будет выводиться в выгрузке в поле описания apps.cianexporter.paid_ads (Платная выгрузка объявлений) - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя apps.cianexporter.sell (Поле:Значение отвечающие за признак продажи) - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2 apps.cianexporter.rent (Поле:Значение отвечающие за признак аренды) - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1 apps.cianexporter.region_id (ID административного региона, если известен) - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый apps.cianexporter.default_currency (Код валюты цен (EUR/USD/RUB) для моновалютных сайтов) - укажите кода валюты цен объявлений на сайте apps.cianexporter.default_saletype (Тип продажи по умолчанию (F – свободная продажа, A – альтернатива)) - укажите тип продажи для всех объявлений по продаже apps.cianexporter.max_days (Возраст в днях выгружаемых объявлений (0 - игнорировать)) - укажите возраст объявлений, которые будут допущены к выгрузке, в днях. apps.cianexporter.use_days_limitation (Использовать ограничение доступности выгрузки по дням) apps.cianexporter.lots_days (Дни доступности выгрузки участков) apps.cianexporter.commerce_days (Дни доступности выгрузки коммерческой) apps.cianexporter.sale_days (Дни доступности выгрузки продажи квартир) apps.cianexporter.rent_days (Дни доступности выгрузки аренды квартир) apps.cianexporter.use_billing_vipstatus_for_premium (Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций) apps.cianexporter.total_square_flat (Системное имя общей площади для квартир и комнат) apps.cianexporter.total_square_commercial (Системное имя общей площади для нежилой\коммерческой) apps.cianexporter.total_square_houses (Системное имя общей площади для домов) apps.cianexporter.total_square_lots (Системное имя общей площади для участков) apps.cianexporter.total_square_lots_m (Единица измерения общей площади для участков (1-м2, 2-сот)) apps.cianexporter.total_square_lh_lots (Системное имя общей площади участков для участков с домами) apps.cianexporter.total_square_lh_lots_m (Единица измерения общей площади участков для участков с домами (1-м2, 2-сот)) apps.cianexporter.total_square_lh_house (Системное имя общей площади дома для участков с домами) apps.cianexporter.newbuilds_ch (Системное имя поля-чекбокса для обозначения новостройки) apps.cianexporter.unlim (Выгружать в ЦИАН все объявления) apps.cianexporter.ceiling_f (Системное имя поля со значением высоты потолков) apps.cianexporter.year_f (Системное имя поля со значением года постройки здания) apps.cianexporter.prom_by_billing (Устанавливать статусы продвижения в зависмости от статусов биллинга) apps.cianexporter.prom_highlight_mark (Системное имя поля установки выделения цветом) apps.cianexporter.prom_premium_mark (Системное имя поля установки премиум-объявлений) apps.cianexporter.prom_top_mark (Системное имя поля установки Топ 3 объявлений) cc020852bff8b4df1e48c0d3bdc1fadd90d83d1d 455 454 2016-06-05T22:33:02Z Abushyk 2 /* Настройки */ wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === apps.cianexporter.text (Заменитель текста объявления) - укажите текст, который будет выводиться в выгрузке в поле описания apps.cianexporter.paid_ads (Платная выгрузка объявлений) - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя apps.cianexporter.sell (Поле:Значение отвечающие за признак продажи) - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2 apps.cianexporter.rent (Поле:Значение отвечающие за признак аренды) - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1 apps.cianexporter.region_id (ID административного региона, если известен) - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый apps.cianexporter.default_currency (Код валюты цен (EUR/USD/RUB) для моновалютных сайтов) - укажите кода валюты цен объявлений на сайте apps.cianexporter.default_saletype (Тип продажи по умолчанию (F – свободная продажа, A – альтернатива)) - укажите тип продажи для всех объявлений по продаже apps.cianexporter.max_days (Возраст в днях выгружаемых объявлений (0 - игнорировать)) - укажите возраст объявлений, которые будут допущены к выгрузке, в днях. apps.cianexporter.use_days_limitation (Использовать ограничение доступности выгрузки по дням) - включает режим блокировки отдачи выгрузки по определенным дням недели apps.cianexporter.lots_days (Дни доступности выгрузки участков) - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье) apps.cianexporter.commerce_days (Дни доступности выгрузки коммерческой) - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье) apps.cianexporter.sale_days (Дни доступности выгрузки продажи квартир) - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье) apps.cianexporter.rent_days (Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье) apps.cianexporter.use_billing_vipstatus_for_premium (Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций) apps.cianexporter.total_square_flat (Системное имя общей площади для квартир и комнат) apps.cianexporter.total_square_commercial (Системное имя общей площади для нежилой\коммерческой) apps.cianexporter.total_square_houses (Системное имя общей площади для домов) apps.cianexporter.total_square_lots (Системное имя общей площади для участков) apps.cianexporter.total_square_lots_m (Единица измерения общей площади для участков (1-м2, 2-сот)) apps.cianexporter.total_square_lh_lots (Системное имя общей площади участков для участков с домами) apps.cianexporter.total_square_lh_lots_m (Единица измерения общей площади участков для участков с домами (1-м2, 2-сот)) apps.cianexporter.total_square_lh_house (Системное имя общей площади дома для участков с домами) apps.cianexporter.newbuilds_ch (Системное имя поля-чекбокса для обозначения новостройки) apps.cianexporter.unlim (Выгружать в ЦИАН все объявления) apps.cianexporter.ceiling_f (Системное имя поля со значением высоты потолков) apps.cianexporter.year_f (Системное имя поля со значением года постройки здания) apps.cianexporter.prom_by_billing (Устанавливать статусы продвижения в зависмости от статусов биллинга) apps.cianexporter.prom_highlight_mark (Системное имя поля установки выделения цветом) apps.cianexporter.prom_premium_mark (Системное имя поля установки премиум-объявлений) apps.cianexporter.prom_top_mark (Системное имя поля установки Топ 3 объявлений) dbf1db420f222d06dcfc0a6aaddd1d1f6cd28a31 456 455 2016-06-05T22:34:31Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === apps.cianexporter.text (Заменитель текста объявления) - укажите текст, который будет выводиться в выгрузке в поле описания<br /> apps.cianexporter.paid_ads (Платная выгрузка объявлений) - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> apps.cianexporter.sell (Поле:Значение отвечающие за признак продажи) - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> apps.cianexporter.rent (Поле:Значение отвечающие за признак аренды) - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> apps.cianexporter.region_id (ID административного региона, если известен) - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> apps.cianexporter.default_currency (Код валюты цен (EUR/USD/RUB) для моновалютных сайтов) - укажите кода валюты цен объявлений на сайте<br /> apps.cianexporter.default_saletype (Тип продажи по умолчанию (F – свободная продажа, A – альтернатива)) - укажите тип продажи для всех объявлений по продаже<br /> apps.cianexporter.max_days (Возраст в днях выгружаемых объявлений (0 - игнорировать)) - укажите возраст объявлений, которые будут допущены к выгрузке, в днях. apps.cianexporter.use_days_limitation (Использовать ограничение доступности выгрузки по дням) - включает режим блокировки отдачи выгрузки по определенным дням недели apps.cianexporter.lots_days (Дни доступности выгрузки участков) - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.commerce_days (Дни доступности выгрузки коммерческой) - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.sale_days (Дни доступности выгрузки продажи квартир) - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.rent_days (Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.use_billing_vipstatus_for_premium (Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций) apps.cianexporter.total_square_flat (Системное имя общей площади для квартир и комнат) apps.cianexporter.total_square_commercial (Системное имя общей площади для нежилой\коммерческой) apps.cianexporter.total_square_houses (Системное имя общей площади для домов) apps.cianexporter.total_square_lots (Системное имя общей площади для участков) apps.cianexporter.total_square_lots_m (Единица измерения общей площади для участков (1-м2, 2-сот)) apps.cianexporter.total_square_lh_lots (Системное имя общей площади участков для участков с домами) apps.cianexporter.total_square_lh_lots_m (Единица измерения общей площади участков для участков с домами (1-м2, 2-сот)) apps.cianexporter.total_square_lh_house (Системное имя общей площади дома для участков с домами) apps.cianexporter.newbuilds_ch (Системное имя поля-чекбокса для обозначения новостройки) apps.cianexporter.unlim (Выгружать в ЦИАН все объявления) apps.cianexporter.ceiling_f (Системное имя поля со значением высоты потолков) apps.cianexporter.year_f (Системное имя поля со значением года постройки здания) apps.cianexporter.prom_by_billing (Устанавливать статусы продвижения в зависмости от статусов биллинга) apps.cianexporter.prom_highlight_mark (Системное имя поля установки выделения цветом) apps.cianexporter.prom_premium_mark (Системное имя поля установки премиум-объявлений) apps.cianexporter.prom_top_mark (Системное имя поля установки Топ 3 объявлений) ed2d0fb16264bc92b9029f9da32efb7254cb5c44 457 456 2016-06-05T22:35:22Z Abushyk 2 /* Настройки */ wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === apps.cianexporter.text (Заменитель текста объявления) - укажите текст, который будет выводиться в выгрузке в поле описания<br /> apps.cianexporter.paid_ads (Платная выгрузка объявлений) - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> apps.cianexporter.sell (Поле:Значение отвечающие за признак продажи) - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> apps.cianexporter.rent (Поле:Значение отвечающие за признак аренды) - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> apps.cianexporter.region_id (ID административного региона, если известен) - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> apps.cianexporter.default_currency (Код валюты цен (EUR/USD/RUB) для моновалютных сайтов) - укажите кода валюты цен объявлений на сайте<br /> apps.cianexporter.default_saletype (Тип продажи по умолчанию (F – свободная продажа, A – альтернатива)) - укажите тип продажи для всех объявлений по продаже<br /> apps.cianexporter.max_days (Возраст в днях выгружаемых объявлений (0 - игнорировать)) - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> apps.cianexporter.use_days_limitation (Использовать ограничение доступности выгрузки по дням) - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> apps.cianexporter.lots_days (Дни доступности выгрузки участков) - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.commerce_days (Дни доступности выгрузки коммерческой) - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.sale_days (Дни доступности выгрузки продажи квартир) - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.rent_days (Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.use_billing_vipstatus_for_premium (Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)<br /> apps.cianexporter.total_square_flat (Системное имя общей площади для квартир и комнат)<br /> apps.cianexporter.total_square_commercial (Системное имя общей площади для нежилой\коммерческой)<br /> apps.cianexporter.total_square_houses (Системное имя общей площади для домов)<br /> apps.cianexporter.total_square_lots (Системное имя общей площади для участков)<br /> apps.cianexporter.total_square_lots_m (Единица измерения общей площади для участков (1-м2, 2-сот))<br /> apps.cianexporter.total_square_lh_lots (Системное имя общей площади участков для участков с домами)<br /> apps.cianexporter.total_square_lh_lots_m (Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))<br /> apps.cianexporter.total_square_lh_house (Системное имя общей площади дома для участков с домами)<br /> apps.cianexporter.newbuilds_ch (Системное имя поля-чекбокса для обозначения новостройки)<br /> apps.cianexporter.unlim (Выгружать в ЦИАН все объявления)<br /> apps.cianexporter.ceiling_f (Системное имя поля со значением высоты потолков)<br /> apps.cianexporter.year_f (Системное имя поля со значением года постройки здания)<br /> apps.cianexporter.prom_by_billing (Устанавливать статусы продвижения в зависмости от статусов биллинга)<br /> apps.cianexporter.prom_highlight_mark (Системное имя поля установки выделения цветом)<br /> apps.cianexporter.prom_premium_mark (Системное имя поля установки премиум-объявлений)<br /> apps.cianexporter.prom_top_mark (Системное имя поля установки Топ 3 объявлений)<br /> 89ae9c0ec66dadc814cb1447dadaf75808adb1e4 458 457 2016-06-06T22:05:12Z Abushyk 2 /* Настройки */ wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === apps.cianexporter.text (Заменитель текста объявления) - укажите текст, который будет выводиться в выгрузке в поле описания<br /> apps.cianexporter.paid_ads (Платная выгрузка объявлений) - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> apps.cianexporter.sell (Поле:Значение отвечающие за признак продажи) - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> apps.cianexporter.rent (Поле:Значение отвечающие за признак аренды) - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> apps.cianexporter.region_id (ID административного региона, если известен) - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> apps.cianexporter.default_currency (Код валюты цен (EUR/USD/RUB) для моновалютных сайтов) - укажите кода валюты цен объявлений на сайте<br /> apps.cianexporter.default_saletype (Тип продажи по умолчанию (F – свободная продажа, A – альтернатива)) - укажите тип продажи для всех объявлений по продаже<br /> apps.cianexporter.max_days (Возраст в днях выгружаемых объявлений (0 - игнорировать)) - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> apps.cianexporter.use_days_limitation (Использовать ограничение доступности выгрузки по дням) - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> apps.cianexporter.lots_days (Дни доступности выгрузки участков) - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.commerce_days (Дни доступности выгрузки коммерческой) - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.sale_days (Дни доступности выгрузки продажи квартир) - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.rent_days (Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.use_billing_vipstatus_for_premium (Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций) - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> apps.cianexporter.total_square_flat (Системное имя общей площади для квартир и комнат) - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> apps.cianexporter.total_square_commercial (Системное имя общей площади для нежилой\коммерческой) - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> apps.cianexporter.total_square_houses (Системное имя общей площади для домов) - укажите системное имя поля содержащего значение общей площади для домов<br /> apps.cianexporter.total_square_lots (Системное имя общей площади для участков) - укажите системное имя поля содержащего значение общей площади для участков<br /> apps.cianexporter.total_square_lots_m (Единица измерения общей площади для участков (1-м2, 2-сот)) - укажите единицу измерения значения общей площади для участков<br /> apps.cianexporter.total_square_lh_lots (Системное имя общей площади участков для участков с домами) - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> apps.cianexporter.total_square_lh_lots_m (Единица измерения общей площади участков для участков с домами (1-м2, 2-сот)) - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> apps.cianexporter.total_square_lh_house (Системное имя общей площади дома для участков с домами) - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> apps.cianexporter.newbuilds_ch (Системное имя поля-чекбокса для обозначения новостройки) - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> apps.cianexporter.unlim (Выгружать в ЦИАН все объявления) - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> apps.cianexporter.ceiling_f (Системное имя поля со значением высоты потолков) - укажите системное имя поля содержащего значение высоты потолков<br /> apps.cianexporter.year_f (Системное имя поля со значением года постройки здания) - укажите системное имя поля содержащего значение года постройки здания<br /> apps.cianexporter.prom_by_billing (Устанавливать статусы продвижения в зависмости от статусов биллинга) - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> apps.cianexporter.prom_highlight_mark (Системное имя поля установки выделения цветом) - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> apps.cianexporter.prom_premium_mark (Системное имя поля установки премиум-объявлений) - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> apps.cianexporter.prom_top_mark (Системное имя поля установки Топ 3 объявлений) - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> 3bb4129fbfe1f4239d1914f4a2d4959e50fd78e6 459 458 2016-06-06T22:05:55Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> apps.cianexporter.region_id (ID административного региона, если известен) - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> apps.cianexporter.default_currency (Код валюты цен (EUR/USD/RUB) для моновалютных сайтов) - укажите кода валюты цен объявлений на сайте<br /> apps.cianexporter.default_saletype (Тип продажи по умолчанию (F – свободная продажа, A – альтернатива)) - укажите тип продажи для всех объявлений по продаже<br /> apps.cianexporter.max_days (Возраст в днях выгружаемых объявлений (0 - игнорировать)) - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> apps.cianexporter.use_days_limitation (Использовать ограничение доступности выгрузки по дням) - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> apps.cianexporter.lots_days (Дни доступности выгрузки участков) - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.commerce_days (Дни доступности выгрузки коммерческой) - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.sale_days (Дни доступности выгрузки продажи квартир) - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.rent_days (Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> apps.cianexporter.use_billing_vipstatus_for_premium (Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций) - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> apps.cianexporter.total_square_flat (Системное имя общей площади для квартир и комнат) - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> apps.cianexporter.total_square_commercial (Системное имя общей площади для нежилой\коммерческой) - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> apps.cianexporter.total_square_houses (Системное имя общей площади для домов) - укажите системное имя поля содержащего значение общей площади для домов<br /> apps.cianexporter.total_square_lots (Системное имя общей площади для участков) - укажите системное имя поля содержащего значение общей площади для участков<br /> apps.cianexporter.total_square_lots_m (Единица измерения общей площади для участков (1-м2, 2-сот)) - укажите единицу измерения значения общей площади для участков<br /> apps.cianexporter.total_square_lh_lots (Системное имя общей площади участков для участков с домами) - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> apps.cianexporter.total_square_lh_lots_m (Единица измерения общей площади участков для участков с домами (1-м2, 2-сот)) - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> apps.cianexporter.total_square_lh_house (Системное имя общей площади дома для участков с домами) - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> apps.cianexporter.newbuilds_ch (Системное имя поля-чекбокса для обозначения новостройки) - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> apps.cianexporter.unlim (Выгружать в ЦИАН все объявления) - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> apps.cianexporter.ceiling_f (Системное имя поля со значением высоты потолков) - укажите системное имя поля содержащего значение высоты потолков<br /> apps.cianexporter.year_f (Системное имя поля со значением года постройки здания) - укажите системное имя поля содержащего значение года постройки здания<br /> apps.cianexporter.prom_by_billing (Устанавливать статусы продвижения в зависмости от статусов биллинга) - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> apps.cianexporter.prom_highlight_mark (Системное имя поля установки выделения цветом) - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> apps.cianexporter.prom_premium_mark (Системное имя поля установки премиум-объявлений) - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> apps.cianexporter.prom_top_mark (Системное имя поля установки Топ 3 объявлений) - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> d05833045de88eaf8e458a901ad861d3cee839cf 460 459 2016-06-06T22:08:55Z Abushyk 2 /* Настройки */ wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f (Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark (Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> 2da2a79543a7efa750086400396f5b8df5b704d7 461 460 2016-06-06T22:09:36Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark (Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> 3e1a41cbdcecaccb86035b41427d6d431dca2e20 462 461 2016-06-06T22:09:55Z Abushyk 2 /* Настройки */ wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> cd313d0dd8dcdb99076d44ae17b842ea802534c9 463 462 2016-06-07T16:59:55Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> === Логи === 82b9f57dc870e2edfe45868bd585c5f2898995d7 464 463 2016-06-07T17:11:53Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после кадой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml ea331ecd3b5a5dfa417a560d2a5985d8657a69a7 465 464 2016-06-07T17:12:17Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml 35bde815a052ccd03eab3d2c74e7116718c9f1ce 466 465 2016-06-07T17:17:31Z Abushyk 2 /* Настройки */ wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файл /apps/cianexporter/logs/export_logs.txt<br /> Логи добавляются в конец файла, поэтому воизбежании разбухания файла, его следует периодически очищать. Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml 244704a25396b145c00f4b9044745dd7813902a8 483 466 2016-08-18T05:30:14Z Kondin 1 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml c7ff1ff0ad8e1cbf1d4dfba06f102c05e201cab7 Приложение "Менеджер валют" 0 69 467 2016-06-14T17:34:05Z Abushyk 2 Новая страница: «Менеджер валют» wikitext text/x-wiki Менеджер валют 714b71f7fdb5d48c1bc94f467f8d84c45ffa465f 469 467 2016-06-14T17:36:58Z Abushyk 2 wikitext text/x-wiki Менеджер валют == Запуск CRON-задачи обновления данных о курсах == Для автоматического обновления данных о курсах следует установить в CRON задачу запуска следующего адреса: <pre>http://ваш_сайт/apps/currency/cron.php?from=cbrf&pass=XvZ87R</pre> 7e256f08058de33795fdcce0fdd5d1b7c8cc539b 470 469 2016-06-14T17:40:46Z Abushyk 2 wikitext text/x-wiki Менеджер валют == Запуск CRON-задачи обновления данных о курсах == Для автоматического обновления данных о курсах следует установить в CRON задачу запуска следующего адреса: <pre>http://ваш_сайт/apps/currency/cron.php?from=cbrf&pass=XvZ87R</pre> В адресе присутствует два обязательных параметра. Параметр from указывает источник данных: * cbrf - ЦБРФ * nbrb - НБ РБ * nbu - НБ Украины <br /> Параметр pass указывает пароль-разрешение на запуск задачи и должен в точности соответствовать указанному в Настройки - Менеджер валют - apps.currency.cron_pass. Если этот пароль в настройках не указан, запуск задачи будет невозможен. 4f692bf5da5761510e04a4aba0f44599d371ec4f 471 470 2016-06-14T17:41:15Z Abushyk 2 wikitext text/x-wiki Менеджер валют == Запуск CRON-задачи обновления данных о курсах == Для автоматического обновления данных о курсах следует установить в CRON задачу запуска следующего адреса: <pre>http://ваш_сайт/apps/currency/cron.php?from=cbrf&pass=XvZ87R</pre> В адресе присутствует два обязательных параметра. Параметр '''from''' указывает источник данных: * cbrf - ЦБРФ * nbrb - НБ РБ * nbu - НБ Украины <br /> Параметр '''pass''' указывает пароль-разрешение на запуск задачи и должен в точности соответствовать указанному в Настройки - Менеджер валют - apps.currency.cron_pass. Если этот пароль в настройках не указан, запуск задачи будет невозможен. f73147797da20a25e98c330d607a45658f652823 472 471 2016-06-14T17:46:18Z Abushyk 2 wikitext text/x-wiki Менеджер валют == Запуск CRON-задачи обновления данных о курсах == Для автоматического обновления данных о курсах следует установить в CRON задачу запуска следующего адреса: <pre>http://ваш_сайт/apps/currency/cron.php?from=cbrf&pass=XvZ87R</pre> В адресе присутствует два обязательных параметра. Параметр '''from''' указывает источник данных: * cbrf - ЦБРФ * nbrb - НБ РБ * nbu - НБ Украины <br /> Параметр '''pass''' указывает пароль-разрешение на запуск задачи и должен в точности соответствовать указанному в Настройки - Менеджер валют - apps.currency.cron_pass. Если этот пароль в настройках не указан, запуск задачи будет невозможен. [[Категория:Приложения]] 45ed127553a7236f1287d13ad29701c1dfe0b55d Приложения 0 6 468 438 2016-06-14T17:34:55Z Abushyk 2 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]] Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 08ef420f607ee7471479da182929135275afdb36 Настройка робокассы 0 16 473 410 2016-06-23T10:28:47Z Kondin 1 wikitext text/x-wiki В технических параметрах в '''ЛИЧНОМ КАБИНЕТЕ РОБОКАССЫ''' вам нужно настроить следующие поля.<br /> <br /> Пароль1<br /> Пароль2<br /> <br /> Затем указываем<br /> '''Result URL''': http://ваш_сайт.ru/robox/result/<br /> Метод отсылки данных по Result URL: GET<br /> '''Success URL''': http://ваш_сайт.ru/robox/success/<br /> Метод отсылки данных по Success URL: GET<br /> '''Fail URL''': http://ваш_сайт.ru/robox/fail/<br /> Метод отсылки данных по Fail URL: GET<br /> <br /> <br /> Теперь переходим в панель управления CMS Sitebill в настройки<br /> В поле адрес службы приема платежей поставить https://auth.robokassa.ru/Merchant/Index.aspx<br /> Идентификатор магазина прописываем в Логин для robokassa.ru<br /> Также надо вписать в поля Пароль 1 для robokassa.ru и Пароль 2 для robokassa.ru те пароли что вы придумали в личном кабинете робокассы.<br /> Сохраните настройки.<br /> Теперь вашим пользователям в личном кабинете можно пополнять свой счет. e7af813a0a7ec005618b6cf061798810a93622c9 Приложение "Выгрузка Kvadroom.ru" 0 43 474 161 2016-07-28T09:56:40Z Abushyk 2 wikitext text/x-wiki Требуется купить модуль Выгрузка Квадрум<br> Выгрузка по адресу http://ваш_сайт/kvadroomexport/<br> Для указания уточненого типа коммерческой недвижимости используйте поле с системным именем commerce_subtype типа select_box и набором значений <pre>{~~--}{O~~Офис}{F~~общепит}{FP~~свободного назначения}{W~~складское помещение}{T~~торговое помещение}{G~~гараж}{L~~земля}</pre> либо иное поле с таким же системным именем, но включающее указанные значения с аналогичными ключами (напр. ) 4255de36e8f99800c125c975b14668b2f06fe3be 475 474 2016-07-28T09:57:15Z Abushyk 2 wikitext text/x-wiki Требуется купить модуль Выгрузка Квадрум<br> Выгрузка по адресу http://ваш_сайт/kvadroomexport/<br> Для указания уточненого типа коммерческой недвижимости используйте поле с системным именем commerce_subtype типа select_box и набором значений <pre>{~~--}{O~~Офис}{F~~общепит}{FP~~свободного назначения}{W~~складское помещение}{T~~торговое помещение}{G~~гараж}{L~~земля}</pre> либо иное поле с таким же системным именем, но включающее указанные значения с аналогичными ключами. 938bf1e955136e8276bce8392a90022c0fec8657 476 475 2016-07-28T10:01:40Z Abushyk 2 wikitext text/x-wiki Требуется купить модуль Выгрузка Квадрум<br> Выгрузка по адресу http://ваш_сайт/kvadroomexport/<br> == Указание типа коммерческой недвижимости == Для указания уточненого типа коммерческой недвижимости используйте поле с системным именем commerce_subtype типа select_box и набором значений <pre>{~~--}{O~~Офис}{F~~общепит}{FP~~свободного назначения}{W~~складское помещение}{T~~торговое помещение}{G~~гараж}{L~~земля}</pre> либо иное поле с таким же системным именем, но включающее указанные значения с аналогичными ключами. 6ee2724fbc1942e20c550519deeaf8c321724d21 477 476 2016-07-28T10:03:06Z Abushyk 2 wikitext text/x-wiki Требуется купить модуль Выгрузка Квадрум<br> == Основная информация == Выгрузка доступна по адресу http://ваш_сайт/kvadroomexport/<br> Адрес логов последней выгрузки http://ваш_сайт/apps/kvadroom/logs/export_logs.txt == Указание типа коммерческой недвижимости == Для указания уточненого типа коммерческой недвижимости используйте поле с системным именем commerce_subtype типа select_box и набором значений <pre>{~~--}{O~~Офис}{F~~общепит}{FP~~свободного назначения}{W~~складское помещение}{T~~торговое помещение}{G~~гараж}{L~~земля}</pre> либо иное поле с таким же системным именем, но включающее указанные значения с аналогичными ключами. 47ffa4fd627e29a925a0f2790c260125551f2661 478 477 2016-07-28T10:19:43Z Abushyk 2 wikitext text/x-wiki Требуется купить модуль Выгрузка Квадрум<br> == Основная информация == Выгрузка доступна по адресу http://ваш_сайт/kvadroomexport/<br> Адрес логов последней выгрузки http://ваш_сайт/apps/kvadroom/logs/export_logs.txt Установка основного типа объекта выполняется заданием соотвествия типа объекта на сайте KVADROOM-типу посредством таблицы ассоциаций в админ-части приложения. Указание типа крнтракта возможно как через таблицу ассоциаций, так и отдельным способом путем указания имени поля, определяющего тип контракта и значений соответствующих продаже и аренда. Определение типа контракта по отдельному полю применяется только к объектам, для которых при указании ассоциированного типа было указано значение '''(без указания типа операции)'''. == Указание типа коммерческой недвижимости == Для указания уточненого типа коммерческой недвижимости используйте поле с системным именем commerce_subtype типа select_box и набором значений <pre>{~~--}{O~~Офис}{F~~общепит}{FP~~свободного назначения}{W~~складское помещение}{T~~торговое помещение}{G~~гараж}{L~~земля}</pre> либо иное поле с таким же системным именем, но включающее указанные значения с аналогичными ключами. d712380ddd9eb37bd53cd8b0a4e0f0f55af689f9 Биллинг 0 13 479 451 2016-08-08T12:16:42Z Kondin 1 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 0a2cca180f1aa8818048b9f606944360c8368ac1 Mail 0 37 480 378 2016-08-16T03:43:11Z Kondin 1 wikitext text/x-wiki Для того чтобы с сайта успешно отправлялись почтовые сообщения, они должны удовлетворять требования и не быть похожими на спам. Т.е. необходимо чтобы поле «От кого» содержало реальный адрес и соответствовало адресу сайта. Например, если ваш сайт называется '''arenda-kvartir.ru''', тогда поле «От кого» должно иметь вид '''info@arenda-kvartir.ru'''. Часть info – может быть любой, главное чтобы ваш почтовый сервер отвечал на запрос других почтовых серверов, что этот почтовый ящик существует. Поэтому в панели управления своего хостинга вам нужно создать этот почтовый ящик. Вместо info может быть no-reply, manager, admin, все что будет понятно тем, кому приходят эти письма.<br /> Адрес '''info@arenda-kvartir.ru''' нужно вписать в конфиге в поле '''system_email''' -------------- Не включайте опцию SMTP - она не работает для бесплатных почтовых служб (яндекс, mail.ru и прочих), эта опция подходит только тем, у кого есть свой сервер. <br /> <br /> Если вы уверены, что все настройки прописали правильно, то следующий шаг - нужно проверить отправку почты с хостинга в целом. Для этого мы разработали тестовый скрипт, скачать его тут http://www.sitebill.ru/storage/distr/test-mail.zip <br /> Распакуйте архив и замените вот эти адреса на ваши<br /> $from = 'info@vashsite.ru'; - здесь вписываем вместо vashsite.ru - ваш сайт<br /> $to = 'dkondin@gmail.com'; - здесь вписываем адрес почты, на который будут приходить заявки<br /> Затем загрузите измененный скрипт test-mail.php в корень вашего сайта по FTP<br /> И запустите vahssite.ru/test-mail.php<br /> Если почта с темой "Проверяем почту" - не пришла, значит проблема в хостинге и вам нужно написать в тех.поддержку хостинга, сообщите им что письма не приходят с сервера.<br /> == Настройка отправки писем через яндекс == Вы можете отпрвавлять письма с сайта с помощью яндекс-почты. Для этого вам нужно подключить свой домен к яндекс-почте, тут инструкция https://pdd.yandex.ru/domains_add/<br> Затем создать ящик на яндексе info@ваш_домен.ру<br> Теперь в настройках сайта во вкладке общие укажите следующие параметры:<br> Отправка почты через smtp. (use_smtp) - поставить галочку.<br> SMTP-сервер для отправки заявок (smtp1_server) - smtp.yandex.ru<br> SMTP-login (smtp1_login) - info@ваш_домен.ру<br> SMTP-password (smtp1_password) - пароль от info@ваш_домен.ру на яндексе<br> SMTP-port (smtp1_port) - 465<br> SMTP-from (smtp1_from) - info@ваш_домен.ру<br> Использовать SSL при подключении к SMTP (use_smtp_ssl) - поставить галочку<br> SMTP сервер для mail.ru ssl://smtp.mail.ru 8c59d7d4498752dd046bcd154738bfc72c5aba0a 481 480 2016-08-16T10:05:53Z Kondin 1 wikitext text/x-wiki Для того чтобы с сайта успешно отправлялись почтовые сообщения, они должны удовлетворять требования и не быть похожими на спам. Т.е. необходимо чтобы поле «От кого» содержало реальный адрес и соответствовало адресу сайта. Например, если ваш сайт называется '''arenda-kvartir.ru''', тогда поле «От кого» должно иметь вид '''info@arenda-kvartir.ru'''. Часть info – может быть любой, главное чтобы ваш почтовый сервер отвечал на запрос других почтовых серверов, что этот почтовый ящик существует. Поэтому в панели управления своего хостинга вам нужно создать этот почтовый ящик. Вместо info может быть no-reply, manager, admin, все что будет понятно тем, кому приходят эти письма.<br /> Адрес '''info@arenda-kvartir.ru''' нужно вписать в конфиге в поле '''system_email''' -------------- Не включайте опцию SMTP - она не работает для бесплатных почтовых служб (яндекс, mail.ru и прочих), эта опция подходит только тем, у кого есть свой сервер. <br /> <br /> Если вы уверены, что все настройки прописали правильно, то следующий шаг - нужно проверить отправку почты с хостинга в целом. Для этого мы разработали тестовый скрипт, скачать его тут http://www.sitebill.ru/storage/distr/test-mail.zip <br /> Распакуйте архив и замените вот эти адреса на ваши<br /> $from = 'info@vashsite.ru'; - здесь вписываем вместо vashsite.ru - ваш сайт<br /> $to = 'dkondin@gmail.com'; - здесь вписываем адрес почты, на который будут приходить заявки<br /> Затем загрузите измененный скрипт test-mail.php в корень вашего сайта по FTP<br /> И запустите vahssite.ru/test-mail.php<br /> Если почта с темой "Проверяем почту" - не пришла, значит проблема в хостинге и вам нужно написать в тех.поддержку хостинга, сообщите им что письма не приходят с сервера.<br /> == Настройка отправки писем через яндекс == '''Если вы арендуете CMS Sitebill на сервере sitebill.ru, тогда вам для отправки через яндекс достаточно прописать MX запись в cpanel mx.yandex.net'''<br> Вы можете отпрвавлять письма с сайта с помощью яндекс-почты. Для этого вам нужно подключить свой домен к яндекс-почте, тут инструкция https://pdd.yandex.ru/domains_add/<br> Затем создать ящик на яндексе info@ваш_домен.ру<br> Теперь в настройках сайта во вкладке общие укажите следующие параметры:<br> Отправка почты через smtp. (use_smtp) - поставить галочку.<br> SMTP-сервер для отправки заявок (smtp1_server) - smtp.yandex.ru<br> SMTP-login (smtp1_login) - info@ваш_домен.ру<br> SMTP-password (smtp1_password) - пароль от info@ваш_домен.ру на яндексе<br> SMTP-port (smtp1_port) - 465<br> SMTP-from (smtp1_from) - info@ваш_домен.ру<br> Использовать SSL при подключении к SMTP (use_smtp_ssl) - поставить галочку<br> SMTP сервер для mail.ru ssl://smtp.mail.ru 3bb9fa96849c61df1e8544053ea51d4665bcb485 482 481 2016-08-16T10:06:53Z Kondin 1 wikitext text/x-wiki Для того чтобы с сайта успешно отправлялись почтовые сообщения, они должны удовлетворять требования и не быть похожими на спам. Т.е. необходимо чтобы поле «От кого» содержало реальный адрес и соответствовало адресу сайта. Например, если ваш сайт называется '''arenda-kvartir.ru''', тогда поле «От кого» должно иметь вид '''info@arenda-kvartir.ru'''. Часть info – может быть любой, главное чтобы ваш почтовый сервер отвечал на запрос других почтовых серверов, что этот почтовый ящик существует. Поэтому в панели управления своего хостинга вам нужно создать этот почтовый ящик. Вместо info может быть no-reply, manager, admin, все что будет понятно тем, кому приходят эти письма.<br /> Адрес '''info@arenda-kvartir.ru''' нужно вписать в конфиге в поле '''system_email''' -------------- Не включайте опцию SMTP - она не работает для бесплатных почтовых служб (яндекс, mail.ru и прочих), эта опция подходит только тем, у кого есть свой сервер. <br /> <br /> Если вы уверены, что все настройки прописали правильно, то следующий шаг - нужно проверить отправку почты с хостинга в целом. Для этого мы разработали тестовый скрипт, скачать его тут http://www.sitebill.ru/storage/distr/test-mail.zip <br /> Распакуйте архив и замените вот эти адреса на ваши<br /> $from = 'info@vashsite.ru'; - здесь вписываем вместо vashsite.ru - ваш сайт<br /> $to = 'dkondin@gmail.com'; - здесь вписываем адрес почты, на который будут приходить заявки<br /> Затем загрузите измененный скрипт test-mail.php в корень вашего сайта по FTP<br /> И запустите vahssite.ru/test-mail.php<br /> Если почта с темой "Проверяем почту" - не пришла, значит проблема в хостинге и вам нужно написать в тех.поддержку хостинга, сообщите им что письма не приходят с сервера.<br /> == Настройка отправки писем через яндекс == '''Если вы арендуете CMS Sitebill на сервере sitebill.ru, тогда вам для отправки через яндекс достаточно прописать MX запись в cpanel mx.yandex.net. Включать smtp в этом случае не требуется.'''<br> Вы можете отпрвавлять письма с сайта с помощью яндекс-почты. Для этого вам нужно подключить свой домен к яндекс-почте, тут инструкция https://pdd.yandex.ru/domains_add/<br> Затем создать ящик на яндексе info@ваш_домен.ру<br> Теперь в настройках сайта во вкладке общие укажите следующие параметры:<br> Отправка почты через smtp. (use_smtp) - поставить галочку.<br> SMTP-сервер для отправки заявок (smtp1_server) - smtp.yandex.ru<br> SMTP-login (smtp1_login) - info@ваш_домен.ру<br> SMTP-password (smtp1_password) - пароль от info@ваш_домен.ру на яндексе<br> SMTP-port (smtp1_port) - 465<br> SMTP-from (smtp1_from) - info@ваш_домен.ру<br> Использовать SSL при подключении к SMTP (use_smtp_ssl) - поставить галочку<br> SMTP сервер для mail.ru ssl://smtp.mail.ru 1df04fa04e0e0de2300b78763d263e7781322b9f Приложение "Выгрузка Yandex.Realty" 0 31 484 373 2016-08-29T14:39:10Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty <br/> '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> 729856c91d607fd0cbb1f07606cf45eae0d80928 485 484 2016-08-29T14:41:00Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> d72c2287b4179df7e577e9584d528cf27fe0ec02 486 485 2016-08-29T14:44:53Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> f0907b763f9d93afd55dabed7d4d27ca000a8adc 487 486 2016-08-29T14:47:18Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> e1a918d4e31b0a2698041374b0844d34ffa2aa7f 488 487 2016-08-29T14:47:33Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> 9fce396032d89dd41c03342b2fdf36b93bac4465 489 488 2016-08-29T14:49:29Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> 5cd4aa07bf1c4468e0d8237b7a4e8e3d88acfad3 490 489 2016-08-29T15:00:22Z Abushyk 2 /* Локация */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> 207896fd1928dc512ddc517342c131b697ef0b2a 491 490 2016-08-29T15:25:29Z Abushyk 2 /* Настройки */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === 423728deba49328440a2176fd134dbc99ed67c2f 492 491 2016-08-29T16:09:44Z Abushyk 2 /* Площади участков */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === Системное имя поля с площадью участка ('apps.yandexrealty.lot_area') Размерность значения системного поля с площадью участка (sqm|ha|acr) ('apps.yandexrealty.lot_area_dim') Системное имя поля с площадью дополнительного участка ('apps.yandexrealty.add_lot_area') Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) ('apps.yandexrealty.add_lot_area_dim') 69d47d02c7876d27d8b33b12eee2272ee12040bc 493 492 2016-08-29T16:15:04Z Abushyk 2 /* Площади участков */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> 2b1e12b3fd48e57b325d6198e9581cf19f821f30 Приложение "Mysearch" 0 18 494 263 2016-08-31T03:54:37Z Kondin 1 wikitext text/x-wiki Персональная поисковая рассылка (mysearch)<br /> Данное приложение служит для того, чтобы пользователи могли сохранять поисковые запросы и выполнять поиск по этим запросам при клике по этому сохранению. Также при настройке задания в cron можно автоматически делать рассылку новых объявлений подходящих под этот поисковый запрос.<br /> Пример: Пользователь ввел в форме поиска параметры «''Аренда/1-комнатные в Центральном районе, города Саратов''». После нажатия кнопки сохранить пользователю будет предложено сохранить данный запрос (над формой поиска). Сохранение запроса доступно только авторизованным пользователям. Если пользователь не авторизован, то ему будет предложено сначала авторизоваться перед сохранением запроса.<br /> Для того чтобы на форме поиска появилась кнопка подписки нужно добавить такой код<br/> {if $mysearch_on==1}<br/> {if $mysearch_save_form_file ne ''}<br/> {include file=$mysearch_save_form_file}<br/> {/if}<br/> {/if}<br/> <br/> После сохранения запроса он будет записан в базу данных и будет доступен в пункте личного кабинета Мой поиск. Можно создавать любое количество сохраненных поисковых запросов.<br /> Теперь каждый день пользователю будут приходить новые объявления по запросу «''Аренда/1-комнатные в Центральном районе, города Саратов''», только если он отметил галочку «Отправлять на email».<br /> Для того чтобы выполнялась автоматическая рассылка нужно добавить задание в cron запускать раз в сутки.<br /> '''1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/mysearch/cron.php'''<br/> <br/> Отправка сообщений на SMS<br/> Сначала вам нужно добавить запись в приложение Мой поиск. Для этого на самом сайте нажмите кнопку «Сохранить поиск» и укажите номер мобильного телефона (можно любой).<br/> Затем перейдите в раздел пользователи и создайте нового пользователя с правильным мобильным телефоном и поставьте ему галочку «Активен».<br/> После этого перейдите в Приложения – Мой поиск, выберите редактирование вашей записи поиска и укажите там пользователя, которого вы только что добавили. Внизу поставьте галочку «Рассылка активна».<br/> Теперь можете запускать рассылку этому пользователю с помощью скрипта http://ваш_сайт/apps/mysearch/cron.php<br/> В дальнейшем этот скрипт нужно поставить в автоматический запуск раз в минуту или раз в час.<br/> В соответствии с этим параметром вам нужно настроить параметр delta_time в настройках – Мой поиск.<br/> Также не забудьте, что вам нужно добавить в список рассылки на сайте smspilot.ru в личном кабинете этот номер телефона.<br/> 5676bcaad1b787fc94ea9a52d1e9cca44d1e1130 499 494 2016-09-01T10:53:28Z Kondin 1 wikitext text/x-wiki Персональная поисковая рассылка (mysearch)<br /> Данное приложение служит для того, чтобы пользователи могли сохранять поисковые запросы и выполнять поиск по этим запросам при клике по этому сохранению. Также при настройке задания в cron можно автоматически делать рассылку новых объявлений подходящих под этот поисковый запрос.<br /> Пример: Пользователь ввел в форме поиска параметры «''Аренда/1-комнатные в Центральном районе, города Саратов''». После нажатия кнопки сохранить пользователю будет предложено сохранить данный запрос (над формой поиска). Сохранение запроса доступно только авторизованным пользователям. Если пользователь не авторизован, то ему будет предложено сначала авторизоваться перед сохранением запроса.<br /> В настройках можно включить опцию Разрешить добавление гостевых поисков (apps.mysearch.allow_add_guests_searches) - тогда неавторизованный пользователь тоже может сохранить поиск, но для этого ему нужно ввести свой email. После этого подтвердить свой email.<br> Для того чтобы на форме поиска появилась кнопка подписки нужно добавить такой код<br/> {if $mysearch_on==1}<br/> {if $mysearch_save_form_file ne ''}<br/> {include file=$mysearch_save_form_file}<br/> {/if}<br/> {/if}<br/> <br/> После сохранения запроса он будет записан в базу данных и будет доступен в пункте личного кабинета Мой поиск. Можно создавать любое количество сохраненных поисковых запросов.<br /> Теперь каждый день пользователю будут приходить новые объявления по запросу «''Аренда/1-комнатные в Центральном районе, города Саратов''», только если он отметил галочку «Отправлять на email».<br /> Для того чтобы выполнялась автоматическая рассылка нужно добавить задание в cron запускать раз в сутки.<br /> '''1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/mysearch/cron.php'''<br/> <br/> Отправка сообщений на SMS<br/> Сначала вам нужно добавить запись в приложение Мой поиск. Для этого на самом сайте нажмите кнопку «Сохранить поиск» и укажите номер мобильного телефона (можно любой).<br/> Затем перейдите в раздел пользователи и создайте нового пользователя с правильным мобильным телефоном и поставьте ему галочку «Активен».<br/> После этого перейдите в Приложения – Мой поиск, выберите редактирование вашей записи поиска и укажите там пользователя, которого вы только что добавили. Внизу поставьте галочку «Рассылка активна».<br/> Теперь можете запускать рассылку этому пользователю с помощью скрипта http://ваш_сайт/apps/mysearch/cron.php<br/> В дальнейшем этот скрипт нужно поставить в автоматический запуск раз в минуту или раз в час.<br/> В соответствии с этим параметром вам нужно настроить параметр delta_time в настройках – Мой поиск.<br/> Также не забудьте, что вам нужно добавить в список рассылки на сайте smspilot.ru в личном кабинете этот номер телефона.<br/> 345c3539cb9b54e46ef42f2839bc4e2fb31d42fa 500 499 2016-09-01T11:00:51Z Kondin 1 wikitext text/x-wiki Персональная поисковая рассылка (mysearch)<br /> Данное приложение служит для того, чтобы пользователи могли сохранять поисковые запросы и выполнять поиск по этим запросам при клике по этому сохранению. Также при настройке задания в cron можно автоматически делать рассылку новых объявлений подходящих под этот поисковый запрос.<br /> Пример: Пользователь ввел в форме поиска параметры «''Аренда/1-комнатные в Центральном районе, города Саратов''». После нажатия кнопки сохранить пользователю будет предложено сохранить данный запрос (над формой поиска). Сохранение запроса доступно только авторизованным пользователям. Если пользователь не авторизован, то ему будет предложено сначала авторизоваться перед сохранением запроса.<br /> В настройках можно включить опцию Разрешить добавление гостевых поисков (apps.mysearch.allow_add_guests_searches) - тогда неавторизованный пользователь тоже может сохранить поиск, но для этого ему нужно ввести свой email. После этого подтвердить свой email.<br> Для того чтобы на форме поиска появилась кнопка подписки нужно добавить такой код<br/> <nowiki> <pre> {if $mysearch_on==1} {if $mysearch_save_form_file ne ''} {include file=$mysearch_save_form_file} {/if} {/if} </pre> </nowiki> <br/> После сохранения запроса он будет записан в базу данных и будет доступен в пункте личного кабинета Мой поиск. Можно создавать любое количество сохраненных поисковых запросов.<br /> Теперь каждый день пользователю будут приходить новые объявления по запросу «''Аренда/1-комнатные в Центральном районе, города Саратов''», только если он отметил галочку «Отправлять на email».<br /> Для того чтобы выполнялась автоматическая рассылка нужно добавить задание в cron запускать раз в сутки.<br /> '''1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/mysearch/cron.php'''<br/> <br/> Отправка сообщений на SMS<br/> Сначала вам нужно добавить запись в приложение Мой поиск. Для этого на самом сайте нажмите кнопку «Сохранить поиск» и укажите номер мобильного телефона (можно любой).<br/> Затем перейдите в раздел пользователи и создайте нового пользователя с правильным мобильным телефоном и поставьте ему галочку «Активен».<br/> После этого перейдите в Приложения – Мой поиск, выберите редактирование вашей записи поиска и укажите там пользователя, которого вы только что добавили. Внизу поставьте галочку «Рассылка активна».<br/> Теперь можете запускать рассылку этому пользователю с помощью скрипта http://ваш_сайт/apps/mysearch/cron.php<br/> В дальнейшем этот скрипт нужно поставить в автоматический запуск раз в минуту или раз в час.<br/> В соответствии с этим параметром вам нужно настроить параметр delta_time в настройках – Мой поиск.<br/> Также не забудьте, что вам нужно добавить в список рассылки на сайте smspilot.ru в личном кабинете этот номер телефона.<br/> dbd1685cded3b4820acab7e1b29cf0d6705ed062 501 500 2016-09-01T11:01:12Z Kondin 1 wikitext text/x-wiki Персональная поисковая рассылка (mysearch)<br /> Данное приложение служит для того, чтобы пользователи могли сохранять поисковые запросы и выполнять поиск по этим запросам при клике по этому сохранению. Также при настройке задания в cron можно автоматически делать рассылку новых объявлений подходящих под этот поисковый запрос.<br /> Пример: Пользователь ввел в форме поиска параметры «''Аренда/1-комнатные в Центральном районе, города Саратов''». После нажатия кнопки сохранить пользователю будет предложено сохранить данный запрос (над формой поиска). Сохранение запроса доступно только авторизованным пользователям. Если пользователь не авторизован, то ему будет предложено сначала авторизоваться перед сохранением запроса.<br /> В настройках можно включить опцию Разрешить добавление гостевых поисков (apps.mysearch.allow_add_guests_searches) - тогда неавторизованный пользователь тоже может сохранить поиск, но для этого ему нужно ввести свой email. После этого подтвердить свой email.<br> Для того чтобы на форме поиска появилась кнопка подписки нужно добавить такой код<br/> <pre> <nowiki> {if $mysearch_on==1} {if $mysearch_save_form_file ne ''} {include file=$mysearch_save_form_file} {/if} {/if} </nowiki> </pre> <br/> После сохранения запроса он будет записан в базу данных и будет доступен в пункте личного кабинета Мой поиск. Можно создавать любое количество сохраненных поисковых запросов.<br /> Теперь каждый день пользователю будут приходить новые объявления по запросу «''Аренда/1-комнатные в Центральном районе, города Саратов''», только если он отметил галочку «Отправлять на email».<br /> Для того чтобы выполнялась автоматическая рассылка нужно добавить задание в cron запускать раз в сутки.<br /> '''1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/mysearch/cron.php'''<br/> <br/> Отправка сообщений на SMS<br/> Сначала вам нужно добавить запись в приложение Мой поиск. Для этого на самом сайте нажмите кнопку «Сохранить поиск» и укажите номер мобильного телефона (можно любой).<br/> Затем перейдите в раздел пользователи и создайте нового пользователя с правильным мобильным телефоном и поставьте ему галочку «Активен».<br/> После этого перейдите в Приложения – Мой поиск, выберите редактирование вашей записи поиска и укажите там пользователя, которого вы только что добавили. Внизу поставьте галочку «Рассылка активна».<br/> Теперь можете запускать рассылку этому пользователю с помощью скрипта http://ваш_сайт/apps/mysearch/cron.php<br/> В дальнейшем этот скрипт нужно поставить в автоматический запуск раз в минуту или раз в час.<br/> В соответствии с этим параметром вам нужно настроить параметр delta_time в настройках – Мой поиск.<br/> Также не забудьте, что вам нужно добавить в список рассылки на сайте smspilot.ru в личном кабинете этот номер телефона.<br/> cc47b730736dca4ff57b2f81c11d2a666a4f3cf4 502 501 2016-09-01T11:01:50Z Kondin 1 wikitext text/x-wiki Персональная поисковая рассылка (mysearch)<br /> Данное приложение служит для того, чтобы пользователи могли сохранять поисковые запросы и выполнять поиск по этим запросам при клике по этому сохранению. Также при настройке задания в cron можно автоматически делать рассылку новых объявлений подходящих под этот поисковый запрос.<br /> Пример: Пользователь ввел в форме поиска параметры «''Аренда/1-комнатные в Центральном районе, города Саратов''». После нажатия кнопки сохранить пользователю будет предложено сохранить данный запрос (над формой поиска). Сохранение запроса доступно только авторизованным пользователям. Если пользователь не авторизован, то ему будет предложено сначала авторизоваться перед сохранением запроса.<br /> В настройках можно включить опцию Разрешить добавление гостевых поисков (apps.mysearch.allow_add_guests_searches) - тогда неавторизованный пользователь тоже может сохранить поиск, но для этого ему нужно ввести свой email. После этого подтвердить свой email.<br> Для того чтобы на форме поиска появилась кнопка подписки нужно добавить такой код<br/> <pre> <nowiki> {if $mysearch_on==1} {if $mysearch_save_form_file ne ''} {include file=$mysearch_save_form_file} {/if} {/if} </nowiki> </pre> <br/> После сохранения запроса он будет записан в базу данных и будет доступен в пункте личного кабинета Мой поиск. Можно создавать любое количество сохраненных поисковых запросов.<br /> Теперь каждый день пользователю будут приходить новые объявления по запросу «''Аренда/1-комнатные в Центральном районе, города Саратов''», только если он отметил галочку «Отправлять на email».<br /> Для того чтобы выполнялась автоматическая рассылка нужно добавить задание в cron запускать раз в сутки.<br /> '''1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/mysearch/cron.php'''<br/> <br/> Отправка сообщений на SMS<br/> Сначала вам нужно добавить запись в приложение Мой поиск. Для этого на самом сайте нажмите кнопку «Сохранить поиск» и укажите номер мобильного телефона (можно любой).<br/> Затем перейдите в раздел пользователи и создайте нового пользователя с правильным мобильным телефоном и поставьте ему галочку «Активен».<br/> После этого перейдите в Приложения – Мой поиск, выберите редактирование вашей записи поиска и укажите там пользователя, которого вы только что добавили. Внизу поставьте галочку «Рассылка активна».<br/> Теперь можете запускать рассылку этому пользователю с помощью скрипта http://ваш_сайт/apps/mysearch/cron.php<br/> В дальнейшем этот скрипт нужно поставить в автоматический запуск раз в минуту или раз в час.<br/> В соответствии с этим параметром вам нужно настроить параметр delta_time в настройках – Мой поиск.<br/> Также не забудьте, что вам нужно добавить в список рассылки на сайте smspilot.ru в личном кабинете этот номер телефона.<br/> 2c168b6232a2a9fa37e0199b2342ea09221a36f9 503 502 2016-09-01T11:20:59Z Kondin 1 wikitext text/x-wiki Персональная поисковая рассылка (mysearch)<br /> Данное приложение служит для того, чтобы пользователи могли сохранять поисковые запросы и выполнять поиск по этим запросам при клике по этому сохранению. Также при настройке задания в cron можно автоматически делать рассылку новых объявлений подходящих под этот поисковый запрос.<br /> После загрузки файлов зайдите в Приложения - Мой поиск, чтобы инициализировать таблицы и настройки первоначальные<br> Затем в редакторе форм - нажмите напротив таблицы mysearch кнопку создать. В списке полей, поставьте видимость поля email и verify_code видимыми только для группы администраторов.<br> Пример: Пользователь ввел в форме поиска параметры «''Аренда/1-комнатные в Центральном районе, города Саратов''». После нажатия кнопки сохранить пользователю будет предложено сохранить данный запрос (над формой поиска). Сохранение запроса доступно только авторизованным пользователям. Если пользователь не авторизован, то ему будет предложено сначала авторизоваться перед сохранением запроса.<br /> В настройках можно включить опцию Разрешить добавление гостевых поисков (apps.mysearch.allow_add_guests_searches) - тогда неавторизованный пользователь тоже может сохранить поиск, но для этого ему нужно ввести свой email. После этого подтвердить свой email.<br> Для того чтобы на форме поиска появилась кнопка подписки нужно добавить такой код<br/> <pre> <nowiki> {if $mysearch_on==1} {if $mysearch_save_form_file ne ''} {include file=$mysearch_save_form_file} {/if} {/if} </nowiki> </pre> <br/> После сохранения запроса он будет записан в базу данных и будет доступен в пункте личного кабинета Мой поиск. Можно создавать любое количество сохраненных поисковых запросов.<br /> Теперь каждый день пользователю будут приходить новые объявления по запросу «''Аренда/1-комнатные в Центральном районе, города Саратов''», только если он отметил галочку «Отправлять на email».<br /> Для того чтобы выполнялась автоматическая рассылка нужно добавить задание в cron запускать раз в сутки.<br /> '''1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/mysearch/cron.php'''<br/> <br/> Отправка сообщений на SMS<br/> Сначала вам нужно добавить запись в приложение Мой поиск. Для этого на самом сайте нажмите кнопку «Сохранить поиск» и укажите номер мобильного телефона (можно любой).<br/> Затем перейдите в раздел пользователи и создайте нового пользователя с правильным мобильным телефоном и поставьте ему галочку «Активен».<br/> После этого перейдите в Приложения – Мой поиск, выберите редактирование вашей записи поиска и укажите там пользователя, которого вы только что добавили. Внизу поставьте галочку «Рассылка активна».<br/> Теперь можете запускать рассылку этому пользователю с помощью скрипта http://ваш_сайт/apps/mysearch/cron.php<br/> В дальнейшем этот скрипт нужно поставить в автоматический запуск раз в минуту или раз в час.<br/> В соответствии с этим параметром вам нужно настроить параметр delta_time в настройках – Мой поиск.<br/> Также не забудьте, что вам нужно добавить в список рассылки на сайте smspilot.ru в личном кабинете этот номер телефона.<br/> 23728c4a1d5f02a1041d44ba11e1eca17feef70f Email as login 0 63 495 401 2016-08-31T05:42:05Z Kondin 1 wikitext text/x-wiki Опция предназначена для того, чтобы при регистрации пользователи указывали только email. И в будущем вместо логина на форме входа пользователь должен вводить email.<br> Настройка этого параметра осуществляется только специалистами CMS Sitebill.<br> После включения опции вам нужно в редакторе форм в таблице user выключить поле login (чтобы оно стало неактивным).<br> В шаблоне realia в файле /template/frontend/realia/js/interface.js нужно удалить вот эти строки var login=form.find('input[name=login]').val(); if(login!=''){ var re = /^([a-zA-Z0-9-_@\.]*)$/i; found = login.match(re); if(found===null){ errors=true; errormsg.append($('<p>Логин может содержать только латинские буквы, цифры, подчеркивание, тире</p>')).show(); } } f7ab9f2408f2a0399d7cdcb483509cd90cb76c9e 496 495 2016-08-31T05:42:28Z Kondin 1 wikitext text/x-wiki Опция предназначена для того, чтобы при регистрации пользователи указывали только email. И в будущем вместо логина на форме входа пользователь должен вводить email.<br> Настройка этого параметра осуществляется только специалистами CMS Sitebill.<br> После включения опции вам нужно в редакторе форм в таблице user выключить поле login (чтобы оно стало неактивным).<br> В шаблоне realia в файле /template/frontend/realia/js/interface.js нужно удалить вот эти строки <nowiki> var login=form.find('input[name=login]').val(); if(login!=''){ var re = /^([a-zA-Z0-9-_@\.]*)$/i; found = login.match(re); if(found===null){ errors=true; errormsg.append($('<p>Логин может содержать только латинские буквы, цифры, подчеркивание, тире</p>')).show(); } } </nowiki> 5761b1ffaccbcd68dd7921c305554bc97724765b 497 496 2016-08-31T05:43:15Z Kondin 1 wikitext text/x-wiki Опция предназначена для того, чтобы при регистрации пользователи указывали только email. И в будущем вместо логина на форме входа пользователь должен вводить email.<br> Настройка этого параметра осуществляется только специалистами CMS Sitebill.<br> После включения опции вам нужно в редакторе форм в таблице user выключить поле login (чтобы оно стало неактивным).<br> В шаблоне realia в файле /template/frontend/realia/js/interface.js нужно удалить вот эти строки <nowiki> <pre> var login=form.find('input[name=login]').val();<br> if(login!=''){<br> var re = /^([a-zA-Z0-9-_@\.]*)$/i;<br> found = login.match(re);<br> if(found===null){<br> errors=true;<br> errormsg.append($('<p>Логин может содержать только латинские буквы, цифры, подчеркивание, тире</p>')).show();<br> }<br> }<br> </pre> </nowiki> 7c487d73567620ba4e0ed5fc181b22030c0e65ac 498 497 2016-08-31T05:44:13Z Kondin 1 wikitext text/x-wiki Опция предназначена для того, чтобы при регистрации пользователи указывали только email. И в будущем вместо логина на форме входа пользователь должен вводить email.<br> Настройка этого параметра осуществляется только специалистами CMS Sitebill.<br> После включения опции вам нужно в редакторе форм в таблице user выключить поле login (чтобы оно стало неактивным).<br> В шаблоне realia в файле /template/frontend/realia/js/interface.js нужно удалить вот эти строки <pre> <nowiki> var login=form.find('input[name=login]').val(); if(login!=''){ var re = /^([a-zA-Z0-9-_@\.]*)$/i; found = login.match(re); if(found===null){ errors=true; errormsg.append($('<p>Логин может содержать только латинские буквы, цифры, подчеркивание, тире</p>')).show(); } } </nowiki> </pre> 0389b5cb65ea43c29e4fb59ec9afe9c1f45f76d6 Приложение "Mysearch" 0 18 504 503 2016-09-01T11:28:22Z Kondin 1 wikitext text/x-wiki Персональная поисковая рассылка (mysearch)<br /> Данное приложение служит для того, чтобы пользователи могли сохранять поисковые запросы и выполнять поиск по этим запросам при клике по этому сохранению. Также при настройке задания в cron можно автоматически делать рассылку новых объявлений подходящих под этот поисковый запрос.<br /> После загрузки файлов зайдите в Приложения - Мой поиск, чтобы инициализировать таблицы и настройки первоначальные<br> Пример: Пользователь ввел в форме поиска параметры «''Аренда/1-комнатные в Центральном районе, города Саратов''». После нажатия кнопки сохранить пользователю будет предложено сохранить данный запрос (над формой поиска). Сохранение запроса доступно только авторизованным пользователям. Если пользователь не авторизован, то ему будет предложено сначала авторизоваться перед сохранением запроса.<br /> В настройках можно включить опцию Разрешить добавление гостевых поисков (apps.mysearch.allow_add_guests_searches) - тогда неавторизованный пользователь тоже может сохранить поиск, но для этого ему нужно ввести свой email. После этого подтвердить свой email.<br> Для того чтобы на форме поиска появилась кнопка подписки нужно добавить такой код<br/> <pre> <nowiki> {if $mysearch_on==1} {if $mysearch_save_form_file ne ''} {include file=$mysearch_save_form_file} {/if} {/if} </nowiki> </pre> <br/> После сохранения запроса он будет записан в базу данных и будет доступен в пункте личного кабинета Мой поиск. Можно создавать любое количество сохраненных поисковых запросов.<br /> Теперь каждый день пользователю будут приходить новые объявления по запросу «''Аренда/1-комнатные в Центральном районе, города Саратов''», только если он отметил галочку «Отправлять на email».<br /> Для того чтобы выполнялась автоматическая рассылка нужно добавить задание в cron запускать раз в сутки.<br /> '''1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/mysearch/cron.php'''<br/> <br/> Отправка сообщений на SMS<br/> Сначала вам нужно добавить запись в приложение Мой поиск. Для этого на самом сайте нажмите кнопку «Сохранить поиск» и укажите номер мобильного телефона (можно любой).<br/> Затем перейдите в раздел пользователи и создайте нового пользователя с правильным мобильным телефоном и поставьте ему галочку «Активен».<br/> После этого перейдите в Приложения – Мой поиск, выберите редактирование вашей записи поиска и укажите там пользователя, которого вы только что добавили. Внизу поставьте галочку «Рассылка активна».<br/> Теперь можете запускать рассылку этому пользователю с помощью скрипта http://ваш_сайт/apps/mysearch/cron.php<br/> В дальнейшем этот скрипт нужно поставить в автоматический запуск раз в минуту или раз в час.<br/> В соответствии с этим параметром вам нужно настроить параметр delta_time в настройках – Мой поиск.<br/> Также не забудьте, что вам нужно добавить в список рассылки на сайте smspilot.ru в личном кабинете этот номер телефона.<br/> 60aed3149888cd6937782fdeb51f1f323900edac Биллинг 0 13 505 479 2016-09-21T18:44:50Z Abushyk 2 /* Услуги биллинга */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upperlimit=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upperlimit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 81ff04fc029306a8d9500a85afdaebb95edd7c42 506 505 2016-09-21T18:47:44Z Abushyk 2 /* upperlimit */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upperlimit=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upperlimit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 0b12fbfcadc862a4fdc133d1f76763c0341f24ac 507 506 2016-09-21T18:48:16Z Abushyk 2 /* upperlimit */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upperlimit=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upperlimit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 77afcf4c62afb2d1921068397f4960fe816d9115 508 507 2016-09-21T18:50:29Z Abushyk 2 /* Таблица */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upperlimit=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upperlimit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 0919fdc9821bd979b1774e229c66635b55ba9e0c Приложение "Yandex.Realty Parser" 0 70 509 2016-09-25T16:58:57Z Abushyk 2 Новая страница: «Yandex.Realty Parser» wikitext text/x-wiki Yandex.Realty Parser 2360ea4c89377b13e50633e10992c496c458ad6e 513 509 2016-09-25T17:05:30Z Abushyk 2 wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> === Требования === Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml e2d21dfca8d3cba8a3cff2b505f5c86a6bbd2bf2 514 513 2016-09-25T17:06:15Z Abushyk 2 wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml 53471f3bf20ef8df71e8b7a2ef856558da434523 515 514 2016-09-25T17:06:42Z Abushyk 2 wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Отсев объявлений == Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. == Логгирование == Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" == Отправка данных в CIAN.ru == Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. == Настройки == '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml 93ee8244323c16eaa43ebe0fd6208182ba260261 516 515 2016-09-25T17:24:48Z Abushyk 2 /* Отсев объявлений */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> == Логгирование == Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" == Отправка данных в CIAN.ru == Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. == Настройки == '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml 79eec66d84d8860cf3cf2945b30a878b7a46bf34 517 516 2016-09-25T17:25:55Z Abushyk 2 /* Парсинг географии */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> == Логгирование == Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" == Отправка данных в CIAN.ru == Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. == Настройки == '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml 1e823a14feb67e2653f697c76fecc226ae024c23 518 517 2016-09-25T17:37:42Z Abushyk 2 /* Парсинг географии */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня. == Логгирование == Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" == Отправка данных в CIAN.ru == Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. == Настройки == '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml f4ae7c5c9ae9842765dc81f8a7a822e85a9bf57e 519 518 2016-09-25T17:41:43Z Abushyk 2 /* Парсинг географии */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) </pre> . Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. == Логгирование == Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" == Отправка данных в CIAN.ru == Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. == Настройки == '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml 76f7d5f35a83b8d42c043a884ad545c716d6e232 520 519 2016-09-25T17:47:26Z Abushyk 2 /* Стандартный связанный режим */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) </pre> так же <pre> link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> == Логгирование == Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" == Отправка данных в CIAN.ru == Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. == Настройки == '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml ea7c8f90aa3c08ee29db6b7d1283e69bffa866df 521 520 2016-09-25T17:47:59Z Abushyk 2 /* Стандартный связанный режим */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) </pre> так же <pre> link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> == Логгирование == Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" == Отправка данных в CIAN.ru == Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. == Настройки == '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml f2bd3f289476753ae05d229c1f79b9394e96db28 522 521 2016-09-25T17:48:13Z Abushyk 2 /* Стандартный связанный режим */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> == Логгирование == Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" == Отправка данных в CIAN.ru == Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. == Настройки == '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml 5ea999df86e7c468dd1b9d6c9bd1a8362dfa87e3 523 522 2016-09-25T17:54:24Z Abushyk 2 /* Стандартный связанный режим */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде идентификатор региона в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. == Логгирование == Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" == Отправка данных в CIAN.ru == Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. == Настройки == '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml 0aadcc4b4a3842990530d53f0d17cd3c3a725954 524 523 2016-09-25T17:56:48Z Abushyk 2 /* Стандартный связанный режим */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. == Логгирование == Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" == Отправка данных в CIAN.ru == Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. == Настройки == '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml c23d1d45d008ed084fca608432e7912777d39e0e 525 524 2016-09-25T17:57:01Z Abushyk 2 /* Парсинг географии */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. == Логгирование == Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" == Отправка данных в CIAN.ru == Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. == Настройки == '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml 4d080877e63f746ee34e9949262018f3d8cb488d 526 525 2016-09-25T18:07:18Z Abushyk 2 /* Стандартный связанный режим */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. == Логгирование == Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" == Отправка данных в CIAN.ru == Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. == Настройки == '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml a3d4182497921364b397b3df3924449c48668f9a 527 526 2016-09-25T18:14:59Z Abushyk 2 /* Пользовательский связанный режим */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить э данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Логгирование == Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" == Отправка данных в CIAN.ru == Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. == Настройки == '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml 7625c5eb520602faccf95f1a118cfc3d7cc0948c 528 527 2016-09-25T18:15:24Z Abushyk 2 /* Логгирование */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить э данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Логгирование == == Отправка данных в CIAN.ru == Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. == Настройки == '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml 7ce7ad5d2ee860519464422952784c79189ae85d 529 528 2016-09-25T18:16:19Z Abushyk 2 wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить э данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Настройки == 67172cea48f48425d5c5012e96ef03d63059b1fc 530 529 2016-09-25T18:17:37Z Abushyk 2 /* Пользовательский связанный режим */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" и его ID=12 в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". А сами города указываются в нашей модели объекта в поле с именем city_id. Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить эти данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Настройки == 5f66c0b4923eb44ad78663cc379e9a4c40c276d6 531 530 2016-09-25T18:17:48Z Abushyk 2 /* Стандартный связанный режим */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" и его ID=12 в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". А сами города указываются в нашей модели объекта в поле с именем city_id. Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить эти данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Настройки == 0cbbb13cbfa0b555860c6dc3208be19b106b30e6 532 531 2016-09-25T18:18:18Z Abushyk 2 /* Несвязанный режим */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === Используется при выключенной настройке apps.yandexrealty_parser.connected_geo<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" и его ID=12 в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". А сами города указываются в нашей модели объекта в поле с именем city_id. Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить эти данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Настройки == d835f33dd1fee34a4b6b3694506f22efe75cb573 533 532 2016-09-25T18:24:36Z Abushyk 2 wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID<br /> == Сличение объектов == Объекты в фиде и объекты на сайте проходят сличение для того, что бы определить какие объекты являются аналогичными в фиде и в сайте и подлежат обновлению, а какие являются новыми и требуют вставки. Сличение может проводиться либо по полю модели объекта data с именем url, в котором хранится урл объявления из xml-фида, либо по идентификатору объекта в БД, который может соответствовать аналогичному в xml-фиде.<br /> Переключение между этими двумя режимами выполняется настройкой '''Использовать internal-id в качестве ID (apps.yandexrealty_parser.use_internalids)'''. При ее включении объекты будут добавляться в сайт с идентификаторами равными идентификаторам объектов в xml-фиде.<br /> == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === Используется при выключенной настройке apps.yandexrealty_parser.connected_geo<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" и его ID=12 в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". А сами города указываются в нашей модели объекта в поле с именем city_id. Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить эти данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Настройки == cccdcec135378223179e68c0293fa9762ead30a3 534 533 2016-09-25T18:25:02Z Abushyk 2 /* Сличение объектов */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID<br /> == Сличение объектов == Объекты в фиде и объекты на сайте проходят сличение для того, что бы определить какие объекты являются аналогичными в фиде и в сайте и подлежат обновлению, а какие являются новыми и требуют вставки. Сличение может проводиться либо по полю модели объекта data с именем url, в котором хранится урл объявления из xml-фида, либо по идентификатору объекта в БД, который может соответствовать аналогичному в xml-фиде.<br /> Переключение между этими двумя режимами выполняется настройкой '''Использовать internal-id в качестве ID (apps.yandexrealty_parser.use_internalids)'''. При ее включении объекты будут добавляться в сайт с идентификаторами равными идентификаторам объектов в xml-фиде.<br /> == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === Используется при выключенной настройке apps.yandexrealty_parser.connected_geo<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" и его ID=12 в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". А сами города указываются в нашей модели объекта в поле с именем city_id. Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить эти данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Настройки == 87a079f4aaa2dc8b89502702f91dddf7729a8091 539 534 2016-09-25T18:31:36Z Abushyk 2 wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID<br /> == Сличение объектов == Объекты в фиде и объекты на сайте проходят сличение для того, что бы определить какие объекты являются аналогичными в фиде и в сайте и подлежат обновлению, а какие являются новыми и требуют вставки. Сличение может проводиться либо по полю модели объекта data с именем url, в котором хранится урл объявления из xml-фида, либо по идентификатору объекта в БД, который может соответствовать аналогичному в xml-фиде.<br /> Переключение между этими двумя режимами выполняется настройкой '''Использовать internal-id в качестве ID (apps.yandexrealty_parser.use_internalids)'''. При ее включении объекты будут добавляться в сайт с идентификаторами равными идентификаторам объектов в xml-фиде.<br /> == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === Используется при выключенной настройке apps.yandexrealty_parser.connected_geo<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" и его ID=12 в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". А сами города указываются в нашей модели объекта в поле с именем city_id. Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить эти данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Настройки == '''apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей''' :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' '''apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий''' :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.category_for_all - Категория по умолчанию''' :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' 34292499b20ae8362d1b3d2fadc8473c39c44098 548 539 2017-01-23T12:11:28Z Kondin 1 wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Установка == Распакуйте архив и загрузите в корень сайта, так чтобы /cron.php лежал в корне, а /apps/yandexrealty_parser/yandexrealty_parser.xml лежал именно по этому пути.</br> После этого обязательно зайдите в обновления и обновите приложение yandexrealty_parser.<br> Теперь зайдите в редактор форм и в таблице user_by_domain нажмите создать "Обработчик по-умолчанию" это иконка со звездочкой справа от названия таблицы.<br> Введите название обработчика "Источники парсинга XML".<br> После сохранения у вас в админке справа сверху должен появиться в меню Пользовательские пункт Источники парсинга XML.<br> Зайдите в этот пункт меню и можете добавить новую запись. Выберите пользователя и адрес URL для xml данных, например http://другойсайт.ru/yandex.xml<br> Также необходимо зайти в настройки во вкладку Yandex.Realty Parser установите (apps.yandexrealty_parser.use_image_cache) = 1 и (apps.yandexrealty_parser.create_yandex_category_structure) = 1<br> Теперь можно запустить парсинг объектов запустив в браузере http://вашсайт/cron.php - первый запуск загурзит только текстовые данные, после загрузки необходимо зайти в Приложения - Seo- оптимизация и нажмите там Обновить структуру.<br> Для загрузки картинок необходимо запустить: http://вашсайт/cron.php?parse_images=1 - при каждом запуске по-умолчанию идет парсинг 10 объявлений.<br> ВНИМАНИЕ!!! Рекомендуется запускать парсинг сначала на тестовом сайте, так как эта операция загуржает в базе большое количество данных, в некоторых xml их может быть больше 10 тыс.<br> == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID<br /> == Сличение объектов == Объекты в фиде и объекты на сайте проходят сличение для того, что бы определить какие объекты являются аналогичными в фиде и в сайте и подлежат обновлению, а какие являются новыми и требуют вставки. Сличение может проводиться либо по полю модели объекта data с именем url, в котором хранится урл объявления из xml-фида, либо по идентификатору объекта в БД, который может соответствовать аналогичному в xml-фиде.<br /> Переключение между этими двумя режимами выполняется настройкой '''Использовать internal-id в качестве ID (apps.yandexrealty_parser.use_internalids)'''. При ее включении объекты будут добавляться в сайт с идентификаторами равными идентификаторам объектов в xml-фиде.<br /> == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === Используется при выключенной настройке apps.yandexrealty_parser.connected_geo<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" и его ID=12 в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". А сами города указываются в нашей модели объекта в поле с именем city_id. Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить эти данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Настройки == '''apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей''' :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' '''apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий''' :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.category_for_all - Категория по умолчанию''' :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' 9ef1954bd8a5ccf2d789752c13a0570af530421f 553 548 2017-03-16T10:16:20Z Kondin 1 wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Установка == Распакуйте архив и загрузите в корень сайта, так чтобы /cron.php лежал в корне, а /apps/yandexrealty_parser/yandexrealty_parser.xml лежал именно по этому пути.</br> После этого обязательно зайдите в обновления и обновите приложение yandexrealty_parser.<br> Теперь зайдите в редактор форм и в таблице user_by_domain нажмите создать "Обработчик по-умолчанию" это иконка со звездочкой справа от названия таблицы.<br> Введите название обработчика "Источники парсинга XML".<br> После сохранения у вас в админке справа сверху должен появиться в меню Пользовательские пункт Источники парсинга XML.<br> Зайдите в этот пункт меню и можете добавить новую запись. Выберите пользователя и адрес URL для xml данных, например http://другойсайт.ru/yandex.xml<br> Также необходимо зайти в настройки во вкладку Yandex.Realty Parser установите (apps.yandexrealty_parser.use_image_cache) = 1 и (apps.yandexrealty_parser.create_yandex_category_structure) = 1<br> Теперь можно запустить парсинг объектов запустив в браузере http://вашсайт/cron.php - первый запуск загурзит только текстовые данные, после загрузки необходимо зайти в Приложения - Seo- оптимизация и нажмите там Обновить структуру.<br> Для загрузки картинок необходимо запустить: http://вашсайт/cron.php?parse_images=1 - при каждом запуске по-умолчанию идет парсинг 10 объявлений.<br> ВНИМАНИЕ!!! Рекомендуется запускать парсинг сначала на тестовом сайте, так как эта операция загуржает в базе большое количество данных, в некоторых xml их может быть больше 10 тыс.<br> <br> Можно добавить задачи в планировщик, чтобы они автоматически запускались <br> Например, строчка запуска парсинга XML раз в 30 минут<br> */30 * * * * /usr/bin/wget -O /dev/null -q http://вашсайт/cron.php Пример запуска парсинга картинок раз в 5 минут<br> */5 * * * * /usr/bin/wget -O /dev/null -q http://вашсайт/cron.php == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID<br /> == Сличение объектов == Объекты в фиде и объекты на сайте проходят сличение для того, что бы определить какие объекты являются аналогичными в фиде и в сайте и подлежат обновлению, а какие являются новыми и требуют вставки. Сличение может проводиться либо по полю модели объекта data с именем url, в котором хранится урл объявления из xml-фида, либо по идентификатору объекта в БД, который может соответствовать аналогичному в xml-фиде.<br /> Переключение между этими двумя режимами выполняется настройкой '''Использовать internal-id в качестве ID (apps.yandexrealty_parser.use_internalids)'''. При ее включении объекты будут добавляться в сайт с идентификаторами равными идентификаторам объектов в xml-фиде.<br /> == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === Используется при выключенной настройке apps.yandexrealty_parser.connected_geo<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" и его ID=12 в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". А сами города указываются в нашей модели объекта в поле с именем city_id. Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить эти данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Настройки == '''apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей''' :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' '''apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий''' :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.category_for_all - Категория по умолчанию''' :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' 124e532535ec8b0422a5ae38eabe94ac221f37d8 Приложения 0 6 510 468 2016-09-25T16:59:45Z Abushyk 2 /* Парсинг */ wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]] Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 50a607f9cee848cee5b735cde300f24423021bef Приложение "Менеджер валют" 0 69 511 472 2016-09-25T17:01:12Z Abushyk 2 wikitext text/x-wiki Менеджер валют == Запуск CRON-задачи обновления данных о курсах == Для автоматического обновления данных о курсах следует установить в CRON задачу запуска следующего адреса: <pre>http://ваш_сайт/apps/currency/cron.php?from=cbrf&pass=XvZ87R</pre> В адресе присутствует два обязательных параметра. Параметр '''from''' указывает источник данных: * cbrf - ЦБРФ * nbrb - НБ РБ * nbu - НБ Украины <br /> Параметр '''pass''' указывает пароль-разрешение на запуск задачи и должен в точности соответствовать указанному в Настройки - Менеджер валют - apps.currency.cron_pass. Если этот пароль в настройках не указан, запуск задачи будет невозможен. [[Категория:[[Приложения]]]] e1b58cd1497c701ad07d1106ddd9528911bf09ce 512 511 2016-09-25T17:01:35Z Abushyk 2 wikitext text/x-wiki Менеджер валют == Запуск CRON-задачи обновления данных о курсах == Для автоматического обновления данных о курсах следует установить в CRON задачу запуска следующего адреса: <pre>http://ваш_сайт/apps/currency/cron.php?from=cbrf&pass=XvZ87R</pre> В адресе присутствует два обязательных параметра. Параметр '''from''' указывает источник данных: * cbrf - ЦБРФ * nbrb - НБ РБ * nbu - НБ Украины <br /> Параметр '''pass''' указывает пароль-разрешение на запуск задачи и должен в точности соответствовать указанному в Настройки - Менеджер валют - apps.currency.cron_pass. Если этот пароль в настройках не указан, запуск задачи будет невозможен. [[Категория:Приложения]] 45ed127553a7236f1287d13ad29701c1dfe0b55d Параметры приложения apps.mlsparser 0 2 535 241 2016-09-25T18:27:51Z Abushyk 2 wikitext text/x-wiki == Нативные параметры apps.mlsparser == '''apps.mlsparser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' Наследует параметр '''apps.yandexrealty_parser.default_user_id'''. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. '''apps.mlsparser.parser_root - Папка для загрузки файлов''' :''Тип: строка'' Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга == Параметры наследуемые от apps.yandexrealty_parser == '''apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей''' :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' '''apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий''' :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.category_for_all - Категория по умолчанию''' :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' == Загрузка картинок с помощью apps.mlsparser == Параллельно загрузке данных парсер допускает загрузку картинок к данным. Загрузка изображений производится вторым потоком при обращении по специальному адресу. Набор картинок в виде архива формата ZIP должен, на момент запроса на парсинг картинок, находиться в папке /cache/upl/.<br /> Обработчику передается имя этого архива.<br /> Архив должен быть одноуровневым - содержать исключительно графические файлы формата jpg, jpeg, gif и png.<br /> Правило именования файлов в архиве следующее:<br /> userid_uniqid_internaltypeid_ordernr.формат для полных изображений<br /> thmb_userid_uniqid_internaltypeid_ordernr.формат для уменьшенных изображений<br /> где<br /> thmb_ - префикс уменьшенного изображения. При его отсутствии изображение считается полным<br /> userid - уникальный идентификатор пользователя\программы выгрузки<br /> uniqid - уникальный идентификатор объявления в базе из которой производится выгрузка<br /> internaltypeid - уникальный идентификатор типа объявления<br /> _ordernr - постфикс определяющий порядок изображения в наборе изображений. Используется тогда, когда для объявления передается более одного изображения.<br /> ''Пример обозначения''<br /> 4_6544_2.gif <br /> 2_6544_2_2.jpeg<br /> thmb_2_6544_2_2.jpeg<br /> При передаче в архиве уменьшенных изображений, для полных изображений '''не будут формироваться''' превьюшки с учетом настроек сервера, а будут просто копироваться переданные уменьшенные, даже если они не соответствуют настроечным размерам уменьшенных изображений. 52b288cd90f28a7af369f422a1f022796ee8c863 536 535 2016-09-25T18:28:30Z Abushyk 2 wikitext text/x-wiki == Нативные параметры apps.mlsparser == '''apps.mlsparser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' Наследует параметр '''apps.yandexrealty_parser.default_user_id'''. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. '''apps.mlsparser.parser_root - Папка для загрузки файлов''' :''Тип: строка'' Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга = Параметры наследуемые от apps.yandexrealty_parser = '''apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей''' :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' '''apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий''' :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.category_for_all - Категория по умолчанию''' :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' == Загрузка картинок с помощью apps.mlsparser == Параллельно загрузке данных парсер допускает загрузку картинок к данным. Загрузка изображений производится вторым потоком при обращении по специальному адресу. Набор картинок в виде архива формата ZIP должен, на момент запроса на парсинг картинок, находиться в папке /cache/upl/.<br /> Обработчику передается имя этого архива.<br /> Архив должен быть одноуровневым - содержать исключительно графические файлы формата jpg, jpeg, gif и png.<br /> Правило именования файлов в архиве следующее:<br /> userid_uniqid_internaltypeid_ordernr.формат для полных изображений<br /> thmb_userid_uniqid_internaltypeid_ordernr.формат для уменьшенных изображений<br /> где<br /> thmb_ - префикс уменьшенного изображения. При его отсутствии изображение считается полным<br /> userid - уникальный идентификатор пользователя\программы выгрузки<br /> uniqid - уникальный идентификатор объявления в базе из которой производится выгрузка<br /> internaltypeid - уникальный идентификатор типа объявления<br /> _ordernr - постфикс определяющий порядок изображения в наборе изображений. Используется тогда, когда для объявления передается более одного изображения.<br /> ''Пример обозначения''<br /> 4_6544_2.gif <br /> 2_6544_2_2.jpeg<br /> thmb_2_6544_2_2.jpeg<br /> При передаче в архиве уменьшенных изображений, для полных изображений '''не будут формироваться''' превьюшки с учетом настроек сервера, а будут просто копироваться переданные уменьшенные, даже если они не соответствуют настроечным размерам уменьшенных изображений. d601380efde65bf12e09c44f49335c74daa0c1e5 537 536 2016-09-25T18:28:50Z Abushyk 2 wikitext text/x-wiki = Нативные параметры apps.mlsparser = '''apps.mlsparser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' Наследует параметр '''apps.yandexrealty_parser.default_user_id'''. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. '''apps.mlsparser.parser_root - Папка для загрузки файлов''' :''Тип: строка'' Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга = Параметры наследуемые от apps.yandexrealty_parser = '''apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей''' :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' '''apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий''' :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.category_for_all - Категория по умолчанию''' :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' = Загрузка картинок с помощью apps.mlsparser = Параллельно загрузке данных парсер допускает загрузку картинок к данным. Загрузка изображений производится вторым потоком при обращении по специальному адресу. Набор картинок в виде архива формата ZIP должен, на момент запроса на парсинг картинок, находиться в папке /cache/upl/.<br /> Обработчику передается имя этого архива.<br /> Архив должен быть одноуровневым - содержать исключительно графические файлы формата jpg, jpeg, gif и png.<br /> Правило именования файлов в архиве следующее:<br /> userid_uniqid_internaltypeid_ordernr.формат для полных изображений<br /> thmb_userid_uniqid_internaltypeid_ordernr.формат для уменьшенных изображений<br /> где<br /> thmb_ - префикс уменьшенного изображения. При его отсутствии изображение считается полным<br /> userid - уникальный идентификатор пользователя\программы выгрузки<br /> uniqid - уникальный идентификатор объявления в базе из которой производится выгрузка<br /> internaltypeid - уникальный идентификатор типа объявления<br /> _ordernr - постфикс определяющий порядок изображения в наборе изображений. Используется тогда, когда для объявления передается более одного изображения.<br /> ''Пример обозначения''<br /> 4_6544_2.gif <br /> 2_6544_2_2.jpeg<br /> thmb_2_6544_2_2.jpeg<br /> При передаче в архиве уменьшенных изображений, для полных изображений '''не будут формироваться''' превьюшки с учетом настроек сервера, а будут просто копироваться переданные уменьшенные, даже если они не соответствуют настроечным размерам уменьшенных изображений. bba5d4f571c7db42a2da6f0ea07373f1becc2afb 538 537 2016-09-25T18:30:18Z Abushyk 2 wikitext text/x-wiki == Нативные параметры apps.mlsparser == '''apps.mlsparser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' Наследует параметр '''apps.yandexrealty_parser.default_user_id'''. Т.е. в случае, если этот параметр указан и не равен 0, записи будут привязаны к ользователю с ID из этого параметра. Если же этот параметр установлен в 0, то записи удут привязываться к пользователю с ID, указанным в этом параметре, с той лищь разницей, что наличие пользователя с указанным ID , будет проверено и, в случае не существования такого пользователя, будет выдана ошибка. '''apps.mlsparser.parser_root - Папка для загрузки файлов''' :''Тип: строка'' Относительный адрес от корня www-папки сайта, в которую будут загружаться xml файлы для парсинга == Параметры наследуемые от apps.yandexrealty_parser == '''apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей''' :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' '''apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий''' :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.category_for_all - Категория по умолчанию''' :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' == Загрузка картинок с помощью apps.mlsparser == Параллельно загрузке данных парсер допускает загрузку картинок к данным. Загрузка изображений производится вторым потоком при обращении по специальному адресу. Набор картинок в виде архива формата ZIP должен, на момент запроса на парсинг картинок, находиться в папке /cache/upl/.<br /> Обработчику передается имя этого архива.<br /> Архив должен быть одноуровневым - содержать исключительно графические файлы формата jpg, jpeg, gif и png.<br /> Правило именования файлов в архиве следующее:<br /> userid_uniqid_internaltypeid_ordernr.формат для полных изображений<br /> thmb_userid_uniqid_internaltypeid_ordernr.формат для уменьшенных изображений<br /> где<br /> thmb_ - префикс уменьшенного изображения. При его отсутствии изображение считается полным<br /> userid - уникальный идентификатор пользователя\программы выгрузки<br /> uniqid - уникальный идентификатор объявления в базе из которой производится выгрузка<br /> internaltypeid - уникальный идентификатор типа объявления<br /> _ordernr - постфикс определяющий порядок изображения в наборе изображений. Используется тогда, когда для объявления передается более одного изображения.<br /> ''Пример обозначения''<br /> 4_6544_2.gif <br /> 2_6544_2_2.jpeg<br /> thmb_2_6544_2_2.jpeg<br /> При передаче в архиве уменьшенных изображений, для полных изображений '''не будут формироваться''' превьюшки с учетом настроек сервера, а будут просто копироваться переданные уменьшенные, даже если они не соответствуют настроечным размерам уменьшенных изображений. 52b288cd90f28a7af369f422a1f022796ee8c863 Меню 0 51 540 247 2016-10-06T10:57:23Z Kondin 1 wikitext text/x-wiki Редактор меню находится в админке в пункте Контент - Меню<br /> Для того чтобы создать новое меню, нажмите кнопку "'''Создать меню'''"<br /> В поле "'''Название меню'''" - запишите название понятное человеку, оно будет отображаться только в админке. Тут можно использовать русские буквы, например, Для пользователя<br /> В поле "'''Метка меню'''" - запишите название только латинскими буквами, например, for_user_menu<br /> Сохраните.<br /><br /> Теперь у вас будет в списке меню новый пункт "Для пользователя"<br /> Зайдите в редактирование пунктов меню, для этого нажмите кнопку "'''Структура'''"<br /> Нажмите кнопку "'''Добавить пункт'''"<br /> В форме заполните поля<br /> "'''Название подпункта'''" - это название пункта меню будет отображаться на сайте и видно пользователю.<br /> Далее следуют поля для ввода названия для каждого языка, установленного в системе. Их заполнять не обязательно.<br /> "'''URL'''" - сюда нужно вписать относительный адрес страницы, например /about/, подробнее об адресах можно почитать тут [[Страницы]]<br /> "'''Сортировка'''" - сюда можно вписать порядковый номер пункта меню, в соответствии с которым он будет сортироваться при выводе. Чем больше номер, тем дальше он будет от начала списка.<br /> <br /> В шаблоне это меню будет выводиться с помощью такого кода<br /> <br /> <pre> <nowiki> <ul class="menu nav"> {section name=i loop=$for_user_menu} <li><a href="{$for_user_menu[i].url}">{$for_user_menu[i].name}</a></li> {/section} </ul> </nowiki> </pre> bda9f38eebb01e5434fa0376d470b8e5f70084dd Общие настройки 0 45 541 334 2016-11-18T11:47:43Z Abushyk 2 wikitext text/x-wiki === Тип капчи (captcha_type) === Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha <br /> === link_metro_to_district (link_metro_to_district) === Вводит признак связи значений из элемента merto_id со значениями из элемента district_id <br /> '''Уведомлять пользователя о регистрации (registration_notice)'''<br /> Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. <br /> '''Выводить помощника в админке (show_admin_helper)'''<br /> <br /> '''Категория по-умолчанию (выводится на главной) (default_topic)'''<br /> Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. <br /> '''Ключ карты яндекс (yandex_map_key)'''<br /> Устарело. Не используется нигде, кроме самых древних шаблонов. <br /> '''Заголовок сайта (site_title)'''<br /> Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. <br /> '''Количество объявлений на одну страницу (per_page)'''<br /> Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. <br /> '''Тема оформления (theme)'''<br /> Имя шаблона сайта. <br /> '''Город (для отображения на карте yandex) (city)'''<br /> Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. <br /> '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор района в форме объявления (district_in_form)'''<br /> Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор улицы в форме объявления (street_in_form)'''<br /> Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Разрешить регистрацию на сайте (allow_register_account)'''<br /> Включает возможность регистрации на сайте пользователей. <br /> '''SMTP-сервер для отправки заявок (smtp1_server)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-login (smtp1_login)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-password (smtp1_password)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-port (smtp1_port)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-от кого (smtp1_from)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Отправка почты через smtp (use_smtp)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Email на который будут приходить заявки с сайта (order_email_acceptor)'''<br /> Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. <br /> '''WYSIWYG-редактор (editor)'''<br /> Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. <br /> '''Показывать рекламу (show_demo_banners)'''<br /> Управления показом встроенных демобаннеров в шапке сайта <br /> '''Стоимость размещения одного специального предложения (special_advert_cost)'''<br /> Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Адрес службы приема платежей robokassa.ru (robokassa_server)'''<br /> '''Логин для robokassa.ru (robokassa_login)'''<br /> '''Пароль 1 для robokassa.ru (robokassa_password1)'''<br /> '''Пароль 2 для robokassa.ru (robokassa_password2)'''<br /> Набор настроек для возможности совершения оплаты через сервис Робокассы <br /> '''Лицензионный ключ (license_key)'''<br /> Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. <br /> '''Режим ajax в формах администратора (ajax_form_in_admin)'''<br /> Включает цепное обновление зависимых элементов в формах в админке <br /> '''Режим ajax в формах личного кабинета (ajax_form_in_user)'''<br /> Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора <br /> '''Сервер авторизации sitebill.ru (ajax_auth_form)'''<br /> Нечто специфичное и, видимо, устаревшее <br /> '''Количество новостей в колонке (news_count_in_column)'''<br /> Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. <br /> '''update1 (update1)'''<br /> Системная настройка. Не предполагает изменения пользователем. <br /> '''Использовать watermark на фотографиях (is_watermark)'''<br /> Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. <br /> '''Тип верхнего меню (purecss/slidemenu) (menu_type)'''<br /> Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. <br /> '''Прятать каталоги без содержимого (hide_empty_catalog)'''<br /> Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. <br /> '''Количество позиций на страницу (common_per_page)'''<br /> Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. <br /> '''Разрешить напоминание пароля (allow_remind_password)'''<br /> Включает возможность восстановления пароля к ЛК. <br /> '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)'''<br /> Указывает количество фотографий на страницу в приложении Галерея. <br /> '''Стоимость размещения одного простого объявления (advert_cost)'''<br /> Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)'''<br /> Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. <br /> '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Текст соглашения после формы (post_form_agreement_text)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Активировать выдачу соглашения после формы (post_form_agreement_enable)'''<br /> Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. <br /> '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)'''<br /> Устарело. Никакого функционала в 99% случаев не имеет. <br /> '''Включить авторегистрацию (autoreg_enable)'''<br /> Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. <br /> '''WYSIWYG-редактор1 (editor1)'''<br /> Частный случай. <br /> '''Включить привязку улиц к городу (link_street_to_city)'''<br /> Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. <br /> '''Использовать карту Google (use_google_map)'''<br /> Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. <br /> '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)'''<br /> Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. <br /> '''Пользователи могут добавлять улицы (user_add_street_enable)'''<br /> Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. <br /> '''Редактировать лицевой счет пользователя в админке (user_account_enable)'''<br /> <br /> '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)'''<br /> Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. <br /> '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)'''<br /> Тип загрузчика картинок для поля типа uploadify_image <br /> '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)'''<br /> Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. <br /> '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)'''<br /> Устаревшее <br /> '''Включить поддержку нескольких валют (currency_enable)'''<br /> Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. <br /> '''Количество объявлений на страницу в админке (per_page_admin)'''<br /> Кличество объявления на страницу. Только для административной части. <br /> '''Название закладки формы по-умолчанию (default_tab_name)'''<br /> Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. <br /> '''Разрешить картинки в разделах (allow_topic_images)'''<br /> В разработке. <br /> '''Заголовок главной (meta_title_main)'''<br /> Текст, который будет помещен в тег head>title для главной страницы. <br /> '''Ключевые слова главной (meta_keywords_main)'''<br /> Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. <br /> '''Мета-описание главной (meta_description_main)'''<br /> Текст, который будет помещен в тег head>meta[name=description] для главной страницы. <br /> '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)'''<br /> Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. <br /> '''Подпись в письмах (email_signature)'''<br /> Текс, который будет размещаться в конце писем, отправляемых сайтом. <br /> '''Делить формы на шаги (divide_step_form)'''<br /> Частный случай. <br /> '''Не допускать добавления дубликатов данных (filter_double_data)'''<br /> Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. <br /> '''Использовать combobox в элементах select (use_combobox)'''<br /> Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. <br /> '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)'''<br /> Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. <br /> '''Игнорировать свободно с (ignore_free_from_parameter)'''<br /> Частный случай. <br /> '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)'''<br /> Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. <br /> '''Количество VIP-объявлений в колонке (vip_rotator_number)'''<br /> Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. <br /> '''Цена Премиум-объявления за 1 день (premium_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. <br /> '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)'''<br /> Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. <br /> '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)'''<br /> Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. <br /> '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)'''<br /> Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. <br /> '''Цена выделения объявления за 1 день (bold_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. <br /> '''Цена одного поднятия (ups_price)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. <br /> '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)'''<br /> Включить возможность устанавливать статус Спецпредложение в ЛК. <br /> '''Использовать локальную форму добавления объявлений (use_custom_addform)'''<br /> Частный случай. <br /> '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)'''<br /> Тип вывода сетки объявлений по умолчанию. <br /> '''Админ может поднимать объявления (show_up_icon)'''<br /> Включение кнопки поднятия объявления в списке объявлений в админке. <br /> '''Блокировать формы поиска пользователя (block_user_search_forms)'''<br /> Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. <br /> '''Блокировать фронтальные сетки пользователя (block_user_front_grids)'''<br /> Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. <br /> '''Количество похожих объявлений в просмотре объявления (similar_items_count)'''<br /> Количество объявлений которые будут отображены в разделе Похожие объявления. <br /> '''Ширина картинки пользователя (user_pic_width)'''<br /> '''Высота картинки пользователя (user_pic_height)'''<br /> Регулируют размеры аватарки пользователя. <br /> '''Название валюты в личном кабинете (ue_name)'''<br /> Строковое название внутренней валюты ЛК. <br /> '''Формат даты (date_format)'''<br /> В разработке. <br /> '''От чьего email будут отправляться письма с сайта. (system_email)'''<br /> '''Сохранять копию избражений без водяного знака (save_without_watermark)'''<br /> Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. <br /> '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)'''<br /> Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. <br /> '''Использовать встроенный счетчик просмотров (use_realty_view_counter)'''<br /> Включение\отключение встроенного счетчика просмотров объявления <br /> '''Не публиковать объявления из ЛК без премодерации (moderate_first)'''<br /> Принудительно ставит на объявления добавленные или измененные через ЛК статус неактивности. <br /> '''Ширина большой картинки в комплексах (complex_image_big_width)'''<br /> '''Высота большой картинки в комплексах (complex_image_big_height)'''<br /> '''Ширина превью картинки в комплексах (complex_image_preview_width)'''<br /> '''Высота превью картинки в комплексах (complex_image_preview_height)'''<br /> Набор параметров для загружаемых картинок для Жилых комплексов. Применимо к типу поля uploadify_image. <br /> '''Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data)'''<br /> В форме объявления в ЛК позволяет убрать поля контактных данных (имя, телефон, email) связи с их избыточностью. <br /> '''Уведомлять администратора о платежах по email (notify_about_payment)'''<br /> При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. <br /> '''Закрыть сайт (is_underconstruction)'''<br /> Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. <br /> '''IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip)'''<br /> Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. <br /> '''Регистрация: сила пароля (0|1|2|3) (register_passstregth)'''<br /> Указывает силу пароля задаваемого пользователем при регистрации. Може иметь целочисельное значение от 0 до 3, где 0 - умолчательное<br /> 0 - допускается любой пароль кроме самых слабых, например состоящих из одного и того же знака (11111 или dddddd)<br /> 1 - пароль должен содержать цифры и буквы (хотя бы одну букву и хотя бы одну цифру)<br /> 2 - пароль должен содержать цифры и буквы в разном регистре<br /> 3 - кроме цифр и букв в разном регистре, пароль должен содержать хотя бы один символ не цифро-буквенного ряда<br /> <br /> '''Куда добавлять количество страниц в заголовке (add_pagenumber_title_place)'''<br /> Указывает месторазмещение надписи ''[Страница N]''. Имеет смысл при включенной настройке ''(add_pagenumber_title)''<br /> Может размещать эту надпись в заголовке страницы, в заголовке браузера или в обеих местах. <br /> '''Формат строки заголовка (apps.realty.title_preg)''' - находится во вкладке Дополнительно<br /> Тут можно прописать с помощью тегов '''{city_id}, {street_id}, {number}''' - нужный нам формат заголовка. В {} - указывается системное название колонки для вывода. А все что не входит в {} будет выводится как есть. <br /> '''Использовать капчу на входе в админку (use_captcha_admin_entry)'''<br /> Указывает использовать ли капчу на форме входа в административную часть. Требует установки настройки ''Тип капчи (captcha_type)'' в состояние отличное от "игнорировать". '''[[use_topic_linker|Включить переадресацию категорий (use_topic_linker)]]'''<br /> 905c44561b8706f3ac68a92f7c5176857638f5f9 542 541 2016-11-18T11:48:37Z Abushyk 2 wikitext text/x-wiki === Тип капчи (captcha_type) === Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha <br /> === link_metro_to_district (link_metro_to_district) === Вводит признак связи значений из элемента merto_id со значениями из элемента district_id <br /> === Уведомлять пользователя о регистрации (registration_notice)=== Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. <br /> === Выводить помощника в админке (show_admin_helper)=== <br /> === Категория по-умолчанию (выводится на главной) (default_topic)=== Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. <br /> === Ключ карты яндекс (yandex_map_key)=== Устарело. Не используется нигде, кроме самых древних шаблонов. <br /> '''Заголовок сайта (site_title)'''<br /> Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. <br /> '''Количество объявлений на одну страницу (per_page)'''<br /> Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. <br /> '''Тема оформления (theme)'''<br /> Имя шаблона сайта. <br /> '''Город (для отображения на карте yandex) (city)'''<br /> Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. <br /> '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор района в форме объявления (district_in_form)'''<br /> Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор улицы в форме объявления (street_in_form)'''<br /> Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Разрешить регистрацию на сайте (allow_register_account)'''<br /> Включает возможность регистрации на сайте пользователей. <br /> '''SMTP-сервер для отправки заявок (smtp1_server)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-login (smtp1_login)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-password (smtp1_password)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-port (smtp1_port)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-от кого (smtp1_from)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Отправка почты через smtp (use_smtp)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Email на который будут приходить заявки с сайта (order_email_acceptor)'''<br /> Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. <br /> '''WYSIWYG-редактор (editor)'''<br /> Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. <br /> '''Показывать рекламу (show_demo_banners)'''<br /> Управления показом встроенных демобаннеров в шапке сайта <br /> '''Стоимость размещения одного специального предложения (special_advert_cost)'''<br /> Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Адрес службы приема платежей robokassa.ru (robokassa_server)'''<br /> '''Логин для robokassa.ru (robokassa_login)'''<br /> '''Пароль 1 для robokassa.ru (robokassa_password1)'''<br /> '''Пароль 2 для robokassa.ru (robokassa_password2)'''<br /> Набор настроек для возможности совершения оплаты через сервис Робокассы <br /> '''Лицензионный ключ (license_key)'''<br /> Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. <br /> '''Режим ajax в формах администратора (ajax_form_in_admin)'''<br /> Включает цепное обновление зависимых элементов в формах в админке <br /> '''Режим ajax в формах личного кабинета (ajax_form_in_user)'''<br /> Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора <br /> '''Сервер авторизации sitebill.ru (ajax_auth_form)'''<br /> Нечто специфичное и, видимо, устаревшее <br /> '''Количество новостей в колонке (news_count_in_column)'''<br /> Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. <br /> '''update1 (update1)'''<br /> Системная настройка. Не предполагает изменения пользователем. <br /> '''Использовать watermark на фотографиях (is_watermark)'''<br /> Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. <br /> '''Тип верхнего меню (purecss/slidemenu) (menu_type)'''<br /> Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. <br /> '''Прятать каталоги без содержимого (hide_empty_catalog)'''<br /> Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. <br /> '''Количество позиций на страницу (common_per_page)'''<br /> Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. <br /> '''Разрешить напоминание пароля (allow_remind_password)'''<br /> Включает возможность восстановления пароля к ЛК. <br /> '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)'''<br /> Указывает количество фотографий на страницу в приложении Галерея. <br /> '''Стоимость размещения одного простого объявления (advert_cost)'''<br /> Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)'''<br /> Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. <br /> '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Текст соглашения после формы (post_form_agreement_text)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Активировать выдачу соглашения после формы (post_form_agreement_enable)'''<br /> Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. <br /> '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)'''<br /> Устарело. Никакого функционала в 99% случаев не имеет. <br /> '''Включить авторегистрацию (autoreg_enable)'''<br /> Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. <br /> '''WYSIWYG-редактор1 (editor1)'''<br /> Частный случай. <br /> '''Включить привязку улиц к городу (link_street_to_city)'''<br /> Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. <br /> '''Использовать карту Google (use_google_map)'''<br /> Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. <br /> '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)'''<br /> Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. <br /> '''Пользователи могут добавлять улицы (user_add_street_enable)'''<br /> Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. <br /> '''Редактировать лицевой счет пользователя в админке (user_account_enable)'''<br /> <br /> '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)'''<br /> Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. <br /> '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)'''<br /> Тип загрузчика картинок для поля типа uploadify_image <br /> '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)'''<br /> Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. <br /> '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)'''<br /> Устаревшее <br /> '''Включить поддержку нескольких валют (currency_enable)'''<br /> Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. <br /> '''Количество объявлений на страницу в админке (per_page_admin)'''<br /> Кличество объявления на страницу. Только для административной части. <br /> '''Название закладки формы по-умолчанию (default_tab_name)'''<br /> Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. <br /> '''Разрешить картинки в разделах (allow_topic_images)'''<br /> В разработке. <br /> '''Заголовок главной (meta_title_main)'''<br /> Текст, который будет помещен в тег head>title для главной страницы. <br /> '''Ключевые слова главной (meta_keywords_main)'''<br /> Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. <br /> '''Мета-описание главной (meta_description_main)'''<br /> Текст, который будет помещен в тег head>meta[name=description] для главной страницы. <br /> '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)'''<br /> Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. <br /> '''Подпись в письмах (email_signature)'''<br /> Текс, который будет размещаться в конце писем, отправляемых сайтом. <br /> '''Делить формы на шаги (divide_step_form)'''<br /> Частный случай. <br /> '''Не допускать добавления дубликатов данных (filter_double_data)'''<br /> Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. <br /> '''Использовать combobox в элементах select (use_combobox)'''<br /> Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. <br /> '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)'''<br /> Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. <br /> '''Игнорировать свободно с (ignore_free_from_parameter)'''<br /> Частный случай. <br /> '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)'''<br /> Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. <br /> '''Количество VIP-объявлений в колонке (vip_rotator_number)'''<br /> Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. <br /> '''Цена Премиум-объявления за 1 день (premium_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. <br /> '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)'''<br /> Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. <br /> '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)'''<br /> Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. <br /> '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)'''<br /> Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. <br /> '''Цена выделения объявления за 1 день (bold_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. <br /> '''Цена одного поднятия (ups_price)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. <br /> '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)'''<br /> Включить возможность устанавливать статус Спецпредложение в ЛК. <br /> '''Использовать локальную форму добавления объявлений (use_custom_addform)'''<br /> Частный случай. <br /> '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)'''<br /> Тип вывода сетки объявлений по умолчанию. <br /> '''Админ может поднимать объявления (show_up_icon)'''<br /> Включение кнопки поднятия объявления в списке объявлений в админке. <br /> '''Блокировать формы поиска пользователя (block_user_search_forms)'''<br /> Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. <br /> '''Блокировать фронтальные сетки пользователя (block_user_front_grids)'''<br /> Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. <br /> '''Количество похожих объявлений в просмотре объявления (similar_items_count)'''<br /> Количество объявлений которые будут отображены в разделе Похожие объявления. <br /> '''Ширина картинки пользователя (user_pic_width)'''<br /> '''Высота картинки пользователя (user_pic_height)'''<br /> Регулируют размеры аватарки пользователя. <br /> '''Название валюты в личном кабинете (ue_name)'''<br /> Строковое название внутренней валюты ЛК. <br /> '''Формат даты (date_format)'''<br /> В разработке. <br /> '''От чьего email будут отправляться письма с сайта. (system_email)'''<br /> '''Сохранять копию избражений без водяного знака (save_without_watermark)'''<br /> Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. <br /> '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)'''<br /> Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. <br /> '''Использовать встроенный счетчик просмотров (use_realty_view_counter)'''<br /> Включение\отключение встроенного счетчика просмотров объявления <br /> '''Не публиковать объявления из ЛК без премодерации (moderate_first)'''<br /> Принудительно ставит на объявления добавленные или измененные через ЛК статус неактивности. <br /> '''Ширина большой картинки в комплексах (complex_image_big_width)'''<br /> '''Высота большой картинки в комплексах (complex_image_big_height)'''<br /> '''Ширина превью картинки в комплексах (complex_image_preview_width)'''<br /> '''Высота превью картинки в комплексах (complex_image_preview_height)'''<br /> Набор параметров для загружаемых картинок для Жилых комплексов. Применимо к типу поля uploadify_image. <br /> '''Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data)'''<br /> В форме объявления в ЛК позволяет убрать поля контактных данных (имя, телефон, email) связи с их избыточностью. <br /> '''Уведомлять администратора о платежах по email (notify_about_payment)'''<br /> При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. <br /> '''Закрыть сайт (is_underconstruction)'''<br /> Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. <br /> '''IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip)'''<br /> Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. <br /> '''Регистрация: сила пароля (0|1|2|3) (register_passstregth)'''<br /> Указывает силу пароля задаваемого пользователем при регистрации. Може иметь целочисельное значение от 0 до 3, где 0 - умолчательное<br /> 0 - допускается любой пароль кроме самых слабых, например состоящих из одного и того же знака (11111 или dddddd)<br /> 1 - пароль должен содержать цифры и буквы (хотя бы одну букву и хотя бы одну цифру)<br /> 2 - пароль должен содержать цифры и буквы в разном регистре<br /> 3 - кроме цифр и букв в разном регистре, пароль должен содержать хотя бы один символ не цифро-буквенного ряда<br /> <br /> '''Куда добавлять количество страниц в заголовке (add_pagenumber_title_place)'''<br /> Указывает месторазмещение надписи ''[Страница N]''. Имеет смысл при включенной настройке ''(add_pagenumber_title)''<br /> Может размещать эту надпись в заголовке страницы, в заголовке браузера или в обеих местах. <br /> '''Формат строки заголовка (apps.realty.title_preg)''' - находится во вкладке Дополнительно<br /> Тут можно прописать с помощью тегов '''{city_id}, {street_id}, {number}''' - нужный нам формат заголовка. В {} - указывается системное название колонки для вывода. А все что не входит в {} будет выводится как есть. <br /> '''Использовать капчу на входе в админку (use_captcha_admin_entry)'''<br /> Указывает использовать ли капчу на форме входа в административную часть. Требует установки настройки ''Тип капчи (captcha_type)'' в состояние отличное от "игнорировать". '''[[use_topic_linker|Включить переадресацию категорий (use_topic_linker)]]'''<br /> 0baa5caf20304fada598ce121101d1af6217fa56 Excel 0 23 543 413 2017-01-12T08:21:01Z Kondin 1 wikitext text/x-wiki Загрузка картинок в платной версии Excel выполняется следующим образом. Для начала вам нужно обновить приложение Excel до версии '''1.8.2''' и выше через [[Центр обновлений|центр обновлений]].<br /> == Загрузка фотографий с помощью FTP == Затем загрузить картинки через FTP в каталог ''/cache/upl/xls_uploads/''. Названия для фотографий лучше давать латинскими буквами или цифрами. Например, '''1.jpg; 123.jpg; vid.jpg'''.<br /> Теперь нужно в загружаемом файле Excel добавить колонку с названием Фотографии (либо иначе). Причем обязательно назвать в точности так, как называется поле c системным именем '''image''' в Вашем наборе полей для таблицы data, потому что по ней будет выполнен автоматический поиск.<br /> В колонке фотографии нужно добавить список названий файлов фотографий, принадлежащий данному объявлению. Если фотографий несколько, то нужно разделить названия с помощью символа ''';''' <br /> Пример '''1.jpg;2.jpg;3.jpg''';<br /> Убедитесь перед загрузкой файла Excel в том, что соответствующие файлы фотографий загружены в каталог ''/cache/upl/xls_uploads/''. И после можете нажимать загрузку файла в базу данных. После обработки фотографии автоматически удаляются из каталога ''/cache/upl/xls_uploads/''. Также автоматически создаются превью и большие фото. Но следует учесть, что размер фото не должен превышать допустимого размера, который может обработать хостинг.<br/> Если каталога ''/cache/upl/xls_uploads/'' нет, тогда создайте его вручную. == Загрузка фотографий с удаленного сервера == Вы можете указывать адреса картинок с других сайтов и система при загрузке Excel файла автоматически будет загружать эти фото по URL. В этом случае не нужно загружать фото по FTP. <br/> Для этого нужно вписывать названия фото в таком формате: Пример '''http://www.site.ru/1.jpg;http://www.site.ru/2.jpg;http://www.site.ru/3.jpg''';<br /> == Обработка большого количества фотографий == Если вы хотите за один раз загрузить файл excel в котором много объявлений и у каждого объявления по нескольку фотографий, то серверу потребуется значительное время для обработки. И возможно, скрипт выдаст ошибку что время выполнения превышено.<br/> Для этого мы сделали опцию отложенного парсинга картинок. Т.е. сначала из excel загружаются только данные, а затем с помощью дополнительного скрипта происходит дозагрузка фотографий в пошаговом режиме.<br/> Опция пошаговой загрузки фотографий доступна начиная с версии 1.9.1<br/> Нужно включить опцию: Использовать кэш картинок внутри data.image_cache для парсинга (apps.excel.use_image_cache), поставьте 1<br/> Количество объявлений для парсинга картинок за один шаг (apps.excel.image_parsing_step) равно 10, лучше оставить это значение.<br/> Теперь вы можете загрузить большой файл с объявлениями, но картинки при этом не загрузятся, они будут записаны в кэш<br/> Чтобы картинки начали загружаться нужно запустить вот этот скрипт:<br/> http://ваш_сайт/apps/excel/cron_image_parser.php<br/> При каждом запуске из базы данных будет выполняться выборка объявлений ожидающих парсинга картинок в количестве указанном в настройках (apps.excel.image_parsing_step)<br/> Вы можете вручную обновлять скрипт после каждого запуска, чтобы все картинки загрузились(обязательно дождитесь окончания работы запущенного скрипта перед повторным запуском).<br/> Либо можно добавить в задание CRON (планировщик), чтобы этот скрипт автоматически запускался, например раз в пять минут.<br/> */5 * * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/apps/excel/cron_image_parser.php b775b37f790d2fc0745cd0f2447aa1ea1848c9b9 Настройки 0 71 544 2017-01-14T14:08:39Z Abushyk 2 Новая страница: «== Дополнительно == === apps.realty.use_predeleting === === apps.realty.allow_notactive_direct === == Общие ==» wikitext text/x-wiki == Дополнительно == === apps.realty.use_predeleting === === apps.realty.allow_notactive_direct === == Общие == d3541dec1f80b2db54be7f5798abe1ccaa7bc77f 545 544 2017-01-14T14:13:45Z Abushyk 2 wikitext text/x-wiki == Дополнительно == === apps.realty.use_predeleting === === apps.realty.allow_notactive_direct === == Общие == === captcha_type === Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha <br /> === link_metro_to_district === Вводит признак связи значений из элемента merto_id со значениями из элемента district_id <br /> === registration_notice === Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. <br /> === show_admin_helper === <br /> === default_topic === Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. <br /> === yandex_map_key === Устарело. Не используется нигде, кроме самых древних шаблонов. <br /> === site_title === Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. <br /> '''Количество объявлений на одну страницу (per_page)'''<br /> Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. <br /> '''Тема оформления (theme)'''<br /> Имя шаблона сайта. <br /> '''Город (для отображения на карте yandex) (city)'''<br /> Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. <br /> '''Выбор страны в форме объявления (country_in_form)'''<br /> Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор региона в форме объявления (region_in_form)'''<br /> Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор города в форме объявления (city_in_form)'''<br /> Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор метро в форме объявления (metro_in_form)'''<br /> Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор района в форме объявления (district_in_form)'''<br /> Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Выбор улицы в форме объявления (street_in_form)'''<br /> Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> '''Разрешить регистрацию на сайте (allow_register_account)'''<br /> Включает возможность регистрации на сайте пользователей. <br /> '''SMTP-сервер для отправки заявок (smtp1_server)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-login (smtp1_login)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-password (smtp1_password)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-port (smtp1_port)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''SMTP-от кого (smtp1_from)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Отправка почты через smtp (use_smtp)'''<br /> Настройки SMTP-сервера для отправки почты <br /> '''Email на который будут приходить заявки с сайта (order_email_acceptor)'''<br /> Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. <br /> '''WYSIWYG-редактор (editor)'''<br /> Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. <br /> '''Показывать рекламу (show_demo_banners)'''<br /> Управления показом встроенных демобаннеров в шапке сайта <br /> '''Стоимость размещения одного специального предложения (special_advert_cost)'''<br /> Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Адрес службы приема платежей robokassa.ru (robokassa_server)'''<br /> '''Логин для robokassa.ru (robokassa_login)'''<br /> '''Пароль 1 для robokassa.ru (robokassa_password1)'''<br /> '''Пароль 2 для robokassa.ru (robokassa_password2)'''<br /> Набор настроек для возможности совершения оплаты через сервис Робокассы <br /> '''Лицензионный ключ (license_key)'''<br /> Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. <br /> '''Режим ajax в формах администратора (ajax_form_in_admin)'''<br /> Включает цепное обновление зависимых элементов в формах в админке <br /> '''Режим ajax в формах личного кабинета (ajax_form_in_user)'''<br /> Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора <br /> '''Сервер авторизации sitebill.ru (ajax_auth_form)'''<br /> Нечто специфичное и, видимо, устаревшее <br /> '''Количество новостей в колонке (news_count_in_column)'''<br /> Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. <br /> '''update1 (update1)'''<br /> Системная настройка. Не предполагает изменения пользователем. <br /> '''Использовать watermark на фотографиях (is_watermark)'''<br /> Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. <br /> '''Тип верхнего меню (purecss/slidemenu) (menu_type)'''<br /> Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. <br /> '''Прятать каталоги без содержимого (hide_empty_catalog)'''<br /> Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. <br /> '''Количество позиций на страницу (common_per_page)'''<br /> Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. <br /> '''Разрешить напоминание пароля (allow_remind_password)'''<br /> Включает возможность восстановления пароля к ЛК. <br /> '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)'''<br /> Указывает количество фотографий на страницу в приложении Галерея. <br /> '''Стоимость размещения одного простого объявления (advert_cost)'''<br /> Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)'''<br /> Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. <br /> '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Текст соглашения после формы (post_form_agreement_text)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Активировать выдачу соглашения после формы (post_form_agreement_enable)'''<br /> Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. <br /> '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)'''<br /> Устарело. Никакого функционала в 99% случаев не имеет. <br /> '''Включить авторегистрацию (autoreg_enable)'''<br /> Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. <br /> '''WYSIWYG-редактор1 (editor1)'''<br /> Частный случай. <br /> '''Включить привязку улиц к городу (link_street_to_city)'''<br /> Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. <br /> '''Использовать карту Google (use_google_map)'''<br /> Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. <br /> '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)'''<br /> Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. <br /> '''Пользователи могут добавлять улицы (user_add_street_enable)'''<br /> Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. <br /> '''Редактировать лицевой счет пользователя в админке (user_account_enable)'''<br /> <br /> '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)'''<br /> Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. <br /> '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)'''<br /> Тип загрузчика картинок для поля типа uploadify_image <br /> '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)'''<br /> Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. <br /> '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)'''<br /> Устаревшее <br /> '''Включить поддержку нескольких валют (currency_enable)'''<br /> Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. <br /> '''Количество объявлений на страницу в админке (per_page_admin)'''<br /> Кличество объявления на страницу. Только для административной части. <br /> '''Название закладки формы по-умолчанию (default_tab_name)'''<br /> Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. <br /> '''Разрешить картинки в разделах (allow_topic_images)'''<br /> В разработке. <br /> '''Заголовок главной (meta_title_main)'''<br /> Текст, который будет помещен в тег head>title для главной страницы. <br /> '''Ключевые слова главной (meta_keywords_main)'''<br /> Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. <br /> '''Мета-описание главной (meta_description_main)'''<br /> Текст, который будет помещен в тег head>meta[name=description] для главной страницы. <br /> '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)'''<br /> Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. <br /> '''Подпись в письмах (email_signature)'''<br /> Текс, который будет размещаться в конце писем, отправляемых сайтом. <br /> '''Делить формы на шаги (divide_step_form)'''<br /> Частный случай. <br /> '''Не допускать добавления дубликатов данных (filter_double_data)'''<br /> Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. <br /> '''Использовать combobox в элементах select (use_combobox)'''<br /> Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. <br /> '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)'''<br /> Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. <br /> '''Игнорировать свободно с (ignore_free_from_parameter)'''<br /> Частный случай. <br /> '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)'''<br /> Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. <br /> '''Количество VIP-объявлений в колонке (vip_rotator_number)'''<br /> Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. <br /> '''Цена Премиум-объявления за 1 день (premium_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. <br /> '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)'''<br /> Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. <br /> '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)'''<br /> Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. <br /> '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)'''<br /> Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. <br /> '''Цена выделения объявления за 1 день (bold_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. <br /> '''Цена одного поднятия (ups_price)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. <br /> '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)'''<br /> Включить возможность устанавливать статус Спецпредложение в ЛК. <br /> '''Использовать локальную форму добавления объявлений (use_custom_addform)'''<br /> Частный случай. <br /> '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)'''<br /> Тип вывода сетки объявлений по умолчанию. <br /> '''Админ может поднимать объявления (show_up_icon)'''<br /> Включение кнопки поднятия объявления в списке объявлений в админке. <br /> '''Блокировать формы поиска пользователя (block_user_search_forms)'''<br /> Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. <br /> '''Блокировать фронтальные сетки пользователя (block_user_front_grids)'''<br /> Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. <br /> '''Количество похожих объявлений в просмотре объявления (similar_items_count)'''<br /> Количество объявлений которые будут отображены в разделе Похожие объявления. <br /> '''Ширина картинки пользователя (user_pic_width)'''<br /> '''Высота картинки пользователя (user_pic_height)'''<br /> Регулируют размеры аватарки пользователя. <br /> '''Название валюты в личном кабинете (ue_name)'''<br /> Строковое название внутренней валюты ЛК. <br /> '''Формат даты (date_format)'''<br /> В разработке. <br /> '''От чьего email будут отправляться письма с сайта. (system_email)'''<br /> '''Сохранять копию избражений без водяного знака (save_without_watermark)'''<br /> Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. <br /> '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)'''<br /> Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. <br /> '''Использовать встроенный счетчик просмотров (use_realty_view_counter)'''<br /> Включение\отключение встроенного счетчика просмотров объявления <br /> '''Не публиковать объявления из ЛК без премодерации (moderate_first)'''<br /> Принудительно ставит на объявления добавленные или измененные через ЛК статус неактивности. <br /> '''Ширина большой картинки в комплексах (complex_image_big_width)'''<br /> '''Высота большой картинки в комплексах (complex_image_big_height)'''<br /> '''Ширина превью картинки в комплексах (complex_image_preview_width)'''<br /> '''Высота превью картинки в комплексах (complex_image_preview_height)'''<br /> Набор параметров для загружаемых картинок для Жилых комплексов. Применимо к типу поля uploadify_image. <br /> '''Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data)'''<br /> В форме объявления в ЛК позволяет убрать поля контактных данных (имя, телефон, email) связи с их избыточностью. <br /> '''Уведомлять администратора о платежах по email (notify_about_payment)'''<br /> При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. <br /> '''Закрыть сайт (is_underconstruction)'''<br /> Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. <br /> '''IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip)'''<br /> Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. <br /> '''Регистрация: сила пароля (0|1|2|3) (register_passstregth)'''<br /> Указывает силу пароля задаваемого пользователем при регистрации. Може иметь целочисельное значение от 0 до 3, где 0 - умолчательное<br /> 0 - допускается любой пароль кроме самых слабых, например состоящих из одного и того же знака (11111 или dddddd)<br /> 1 - пароль должен содержать цифры и буквы (хотя бы одну букву и хотя бы одну цифру)<br /> 2 - пароль должен содержать цифры и буквы в разном регистре<br /> 3 - кроме цифр и букв в разном регистре, пароль должен содержать хотя бы один символ не цифро-буквенного ряда<br /> <br /> '''Куда добавлять количество страниц в заголовке (add_pagenumber_title_place)'''<br /> Указывает месторазмещение надписи ''[Страница N]''. Имеет смысл при включенной настройке ''(add_pagenumber_title)''<br /> Может размещать эту надпись в заголовке страницы, в заголовке браузера или в обеих местах. <br /> '''Формат строки заголовка (apps.realty.title_preg)''' - находится во вкладке Дополнительно<br /> Тут можно прописать с помощью тегов '''{city_id}, {street_id}, {number}''' - нужный нам формат заголовка. В {} - указывается системное название колонки для вывода. А все что не входит в {} будет выводится как есть. <br /> '''Использовать капчу на входе в админку (use_captcha_admin_entry)'''<br /> Указывает использовать ли капчу на форме входа в административную часть. Требует установки настройки ''Тип капчи (captcha_type)'' в состояние отличное от "игнорировать". 706fcba13d949d2db60fefd6acf7e09ee4cddc54 546 545 2017-01-14T16:28:32Z Abushyk 2 /* Общие */ wikitext text/x-wiki == Дополнительно == === apps.realty.use_predeleting === === apps.realty.allow_notactive_direct === == Общие == === captcha_type === Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha <br /> === link_metro_to_district === Вводит признак связи значений из элемента merto_id со значениями из элемента district_id <br /> === registration_notice === Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. <br /> === show_admin_helper === <br /> === default_topic === Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. <br /> === yandex_map_key === Устарело. Не используется нигде, кроме самых древних шаблонов. <br /> === site_title === Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. <br /> '''Количество объявлений на одну страницу (per_page)'''<br /> Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. <br /> === theme === Имя шаблона сайта. <br /> === city === Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. <br /> === country_in_form === Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> === region_in_form === Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> === city_in_form === Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> === metro_in_form === Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> === district_in_form === Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> === street_in_form === Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> === allow_register_account === Включает возможность регистрации на сайте пользователей. <br /> === smtp1_server === Настройки SMTP-сервера для отправки почты <br /> === smtp1_login === Настройки SMTP-сервера для отправки почты <br /> === smtp1_password === Настройки SMTP-сервера для отправки почты <br /> === smtp1_port === Настройки SMTP-сервера для отправки почты <br /> === smtp1_from === Настройки SMTP-сервера для отправки почты <br /> === use_smtp === Настройки SMTP-сервера для отправки почты <br /> === order_email_acceptor === Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. <br /> === editor === Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. <br /> === show_demo_banners === Управления показом встроенных демобаннеров в шапке сайта <br /> === special_advert_cost === Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. <br /> === robokassa_server === === robokassa_login === === robokassa_password1 === === robokassa_password2 === Набор настроек для возможности совершения оплаты через сервис Робокассы <br /> === license_key === Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. <br /> === ajax_form_in_admin === Включает цепное обновление зависимых элементов в формах в админке <br /> === ajax_form_in_user === Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора <br /> === ajax_auth_form === Нечто специфичное и, видимо, устаревшее <br /> === news_count_in_column === Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. <br /> === update1 === Системная настройка. Не предполагает изменения пользователем. <br /> '''Использовать watermark на фотографиях (is_watermark)'''<br /> Обуславливает нужность нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. <br /> '''Тип верхнего меню (purecss/slidemenu) (menu_type)'''<br /> Устанавливает тип навигационного меню для шаблонов, которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. <br /> '''Прятать каталоги без содержимого (hide_empty_catalog)'''<br /> Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. <br /> '''Количество позиций на страницу (common_per_page)'''<br /> Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. <br /> '''Разрешить напоминание пароля (allow_remind_password)'''<br /> Включает возможность восстановления пароля к ЛК. <br /> '''Галерея: Количество фотографий на страницу (app_gallery_photos_per_page)'''<br /> Указывает количество фотографий на страницу в приложении Галерея. <br /> '''Стоимость размещения одного простого объявления (advert_cost)'''<br /> Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. <br /> '''Включить SEO-оптимизацию названий изображений (seo_photo_name_enable)'''<br /> Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. <br /> '''Текст соглашения после формы добавления объявления (post_form_agreement_text_add)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Текст соглашения после формы (post_form_agreement_text)'''<br /> Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> '''Активировать выдачу соглашения после формы (post_form_agreement_enable)'''<br /> Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. <br /> '''Дополнительные поля в личном кабинете риелтора (more_fields_in_lk)'''<br /> Устарело. Никакого функционала в 99% случаев не имеет. <br /> '''Включить авторегистрацию (autoreg_enable)'''<br /> Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. <br /> '''WYSIWYG-редактор1 (editor1)'''<br /> Частный случай. <br /> '''Включить привязку улиц к городу (link_street_to_city)'''<br /> Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. <br /> '''Использовать карту Google (use_google_map)'''<br /> Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. <br /> '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)'''<br /> Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. <br /> '''Пользователи могут добавлять улицы (user_add_street_enable)'''<br /> Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. <br /> '''Редактировать лицевой счет пользователя в админке (user_account_enable)'''<br /> <br /> '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)'''<br /> Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. <br /> '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)'''<br /> Тип загрузчика картинок для поля типа uploadify_image <br /> '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)'''<br /> Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. <br /> '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)'''<br /> Устаревшее <br /> '''Включить поддержку нескольких валют (currency_enable)'''<br /> Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. <br /> '''Количество объявлений на страницу в админке (per_page_admin)'''<br /> Кличество объявления на страницу. Только для административной части. <br /> '''Название закладки формы по-умолчанию (default_tab_name)'''<br /> Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. <br /> '''Разрешить картинки в разделах (allow_topic_images)'''<br /> В разработке. <br /> '''Заголовок главной (meta_title_main)'''<br /> Текст, который будет помещен в тег head>title для главной страницы. <br /> '''Ключевые слова главной (meta_keywords_main)'''<br /> Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. <br /> '''Мета-описание главной (meta_description_main)'''<br /> Текст, который будет помещен в тег head>meta[name=description] для главной страницы. <br /> '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)'''<br /> Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. <br /> '''Подпись в письмах (email_signature)'''<br /> Текс, который будет размещаться в конце писем, отправляемых сайтом. <br /> '''Делить формы на шаги (divide_step_form)'''<br /> Частный случай. <br /> '''Не допускать добавления дубликатов данных (filter_double_data)'''<br /> Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. <br /> '''Использовать combobox в элементах select (use_combobox)'''<br /> Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. <br /> '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)'''<br /> Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. <br /> '''Игнорировать свободно с (ignore_free_from_parameter)'''<br /> Частный случай. <br /> '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)'''<br /> Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. <br /> '''Количество VIP-объявлений в колонке (vip_rotator_number)'''<br /> Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. <br /> '''Цена Премиум-объявления за 1 день (premium_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. <br /> '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)'''<br /> Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. <br /> '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)'''<br /> Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. <br /> '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)'''<br /> Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. <br /> '''Цена выделения объявления за 1 день (bold_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. <br /> '''Цена одного поднятия (ups_price)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. <br /> '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)'''<br /> Включить возможность устанавливать статус Спецпредложение в ЛК. <br /> '''Использовать локальную форму добавления объявлений (use_custom_addform)'''<br /> Частный случай. <br /> '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)'''<br /> Тип вывода сетки объявлений по умолчанию. <br /> '''Админ может поднимать объявления (show_up_icon)'''<br /> Включение кнопки поднятия объявления в списке объявлений в админке. <br /> '''Блокировать формы поиска пользователя (block_user_search_forms)'''<br /> Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. <br /> '''Блокировать фронтальные сетки пользователя (block_user_front_grids)'''<br /> Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. <br /> '''Количество похожих объявлений в просмотре объявления (similar_items_count)'''<br /> Количество объявлений которые будут отображены в разделе Похожие объявления. <br /> '''Ширина картинки пользователя (user_pic_width)'''<br /> '''Высота картинки пользователя (user_pic_height)'''<br /> Регулируют размеры аватарки пользователя. <br /> '''Название валюты в личном кабинете (ue_name)'''<br /> Строковое название внутренней валюты ЛК. <br /> '''Формат даты (date_format)'''<br /> В разработке. <br /> '''От чьего email будут отправляться письма с сайта. (system_email)'''<br /> '''Сохранять копию избражений без водяного знака (save_without_watermark)'''<br /> Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. <br /> '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)'''<br /> Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. <br /> '''Использовать встроенный счетчик просмотров (use_realty_view_counter)'''<br /> Включение\отключение встроенного счетчика просмотров объявления <br /> '''Не публиковать объявления из ЛК без премодерации (moderate_first)'''<br /> Принудительно ставит на объявления добавленные или измененные через ЛК статус неактивности. <br /> '''Ширина большой картинки в комплексах (complex_image_big_width)'''<br /> '''Высота большой картинки в комплексах (complex_image_big_height)'''<br /> '''Ширина превью картинки в комплексах (complex_image_preview_width)'''<br /> '''Высота превью картинки в комплексах (complex_image_preview_height)'''<br /> Набор параметров для загружаемых картинок для Жилых комплексов. Применимо к типу поля uploadify_image. <br /> '''Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data)'''<br /> В форме объявления в ЛК позволяет убрать поля контактных данных (имя, телефон, email) связи с их избыточностью. <br /> '''Уведомлять администратора о платежах по email (notify_about_payment)'''<br /> При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. <br /> '''Закрыть сайт (is_underconstruction)'''<br /> Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. <br /> '''IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip)'''<br /> Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. <br /> '''Регистрация: сила пароля (0|1|2|3) (register_passstregth)'''<br /> Указывает силу пароля задаваемого пользователем при регистрации. Може иметь целочисельное значение от 0 до 3, где 0 - умолчательное<br /> 0 - допускается любой пароль кроме самых слабых, например состоящих из одного и того же знака (11111 или dddddd)<br /> 1 - пароль должен содержать цифры и буквы (хотя бы одну букву и хотя бы одну цифру)<br /> 2 - пароль должен содержать цифры и буквы в разном регистре<br /> 3 - кроме цифр и букв в разном регистре, пароль должен содержать хотя бы один символ не цифро-буквенного ряда<br /> <br /> '''Куда добавлять количество страниц в заголовке (add_pagenumber_title_place)'''<br /> Указывает месторазмещение надписи ''[Страница N]''. Имеет смысл при включенной настройке ''(add_pagenumber_title)''<br /> Может размещать эту надпись в заголовке страницы, в заголовке браузера или в обеих местах. <br /> '''Формат строки заголовка (apps.realty.title_preg)''' - находится во вкладке Дополнительно<br /> Тут можно прописать с помощью тегов '''{city_id}, {street_id}, {number}''' - нужный нам формат заголовка. В {} - указывается системное название колонки для вывода. А все что не входит в {} будет выводится как есть. <br /> '''Использовать капчу на входе в админку (use_captcha_admin_entry)'''<br /> Указывает использовать ли капчу на форме входа в административную часть. Требует установки настройки ''Тип капчи (captcha_type)'' в состояние отличное от "игнорировать". 203f302f7d34d282fee018c19eca59ff87d1962b 547 546 2017-01-14T16:31:02Z Abushyk 2 wikitext text/x-wiki == Общие == === captcha_type === Тип капчи в формах. Имеет два варианта - стандартная и отсутствует. Последнее значение скрывает поле капчи на формах в том случае, если капча была задана в модели, на основании которой строится форма, полем типа captcha <br /> === link_metro_to_district === Вводит признак связи значений из элемента merto_id со значениями из элемента district_id <br /> === registration_notice === Включает оповещение через email, указанный при регистрации, пользователя о том, что он зарегистрировался на сайте. <br /> === show_admin_helper === <br /> === default_topic === Устаревшая опция, которая отвечала за содержимое сетки на главной странице - указывала ид категории, из которой следует набрать объявлений для вывода на главной. <br /> === yandex_map_key === Устарело. Не используется нигде, кроме самых древних шаблонов. <br /> === site_title === Название сайта. Используется при выводе в заголовки на сайте и в заголовок браузера. <br /> '''Количество объявлений на одну страницу (per_page)'''<br /> Количество объявлений, которое будет выведено на одну страницу сетки на сайте. Применяется только к фронтальной части сайта. <br /> === theme === Имя шаблона сайта. <br /> === city === Название города, которое будет использоваться в строке, на основании которой будет проводится геокодирование. Используется, если для объявления не указан явно город, например вся география начинается с районов из-за того, что база объявлений покрывает один конкретный город. <br /> === country_in_form === Включает отображение поля Страна в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> === region_in_form === Включает отображение поля Регион в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> === city_in_form === Включает отображение поля Город в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> === metro_in_form === Включает отображение поля Метро в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> === district_in_form === Включает отображение поля Район в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> === street_in_form === Включает отображение поля Улица в форме объявления. Влияет как на формы добавления\правки, так и на большинство форм поиска. <br /> === allow_register_account === Включает возможность регистрации на сайте пользователей. <br /> === smtp1_server === Настройки SMTP-сервера для отправки почты <br /> === smtp1_login === Настройки SMTP-сервера для отправки почты <br /> === smtp1_password === Настройки SMTP-сервера для отправки почты <br /> === smtp1_port === Настройки SMTP-сервера для отправки почты <br /> === smtp1_from === Настройки SMTP-сервера для отправки почты <br /> === use_smtp === Настройки SMTP-сервера для отправки почты <br /> === order_email_acceptor === Технический почтовый ящик от имени которого отправляется большинство писем с сайта и на который будут приходить некоторые уведомления с сайта. <br /> === editor === Указывает тип текстового редактора, который будет применяться для отображения в формах поля типа textarea_editor. В данный момент поддерживается два редактора CLEditor и CKEditor. Для некоторых шаблонов, в частности realia подходит только второй. <br /> === show_demo_banners === Управления показом встроенных демобаннеров в шапке сайта <br /> === special_advert_cost === Указывает стоимость размещения одного объявления в разделе спецпредложений. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения в Спецредложениях из личного кабинета. Администратор может размещать без учета этой настройки. <br /> === robokassa_server === === robokassa_login === === robokassa_password1 === === robokassa_password2 === Набор настроек для возможности совершения оплаты через сервис Робокассы <br /> === license_key === Уникальный идентификационный ключ вашего сайта. Выдается при приобретении Сайтбилля. <br /> === ajax_form_in_admin === Включает цепное обновление зависимых элементов в формах в админке <br /> === ajax_form_in_user === Включает цепное обновление зависимых элементов в формах в личном кабинете риелтора <br /> === ajax_auth_form === Нечто специфичное и, видимо, устаревшее <br /> === news_count_in_column === Указывает количество новостей, которое будет выбираться из БД для показа в колонке новостей на страницах. Не для вывода в списке новостей в разделе Новости, а именно в колонке. <br /> === update1 === Системная настройка. Не предполагает изменения пользователем. <br /> === is_watermark === Обуславливает необходимость нанесения водяного знака на полноразмерные картинки при загрузке их. Наносится только на избражения привязанные к недвижимости. <br /> === menu_type === Устанавливает тип навигационного меню для шаблонов (purecss/slidemenu), которые поддерживают эту опцию (agency и его производные). Многие шаблоны, из последних, уже не поддерживают эту настройку. <br /> === hide_empty_catalog === Управляет видимостью категорий в дереве категорий в ЛК которые в данный момент не содержат объявлений. <br /> === common_per_page === Универсальное значение, которое используется для определения количества объектов на страницу для тех сущностей, для которых не указана конкретная настройка. Либо замещает специальные значения количества на страницу в случае их отсутствия или не указания. <br /> === allow_remind_password === Включает возможность восстановления пароля к ЛК. <br /> === app_gallery_photos_per_page === Указывает количество фотографий на страницу в приложении Галерея. <br /> === advert_cost === Указывает стоимость размещения одного объявления на сайте. Стоимость взимается разово за размещение. При пустом значении размещение производится безоплатно. Влияет лишь на размещения из личного кабинета. Администратор может размещать без учета этой настройки. <br /> === seo_photo_name_enable === Предписывает давать загруженным картинкам более осмысленные значения вместо простых буквенно-цифровых имен. Поддерживается не в полной мере и находится в процессе разработки. <br /> === post_form_agreement_text_add === Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой формы добавления объявления. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> === post_form_agreement_text === Обозначает текст надписи, которая будет выводиться возле чекбокса, который необходимо отметить перед отправкой прочих форм - например заявки на ипотеку. Срабатывает только при включенной опции ''Активировать выдачу соглашения после формы (post_form_agreement_enable)'' <br /> === post_form_agreement_enable === Включает вывод чекбокса на подтверждение некоего соглашения, который блокирует нажатие кнопки Отправить до момента своей отметки. <br /> === more_fields_in_lk === Устарело. Никакого функционала в 99% случаев не имеет. <br /> '''Включить авторегистрацию (autoreg_enable)'''<br /> Включает режим, при котором при подаче объявления незарегистрированным пользователем для него создается автоматически аккаунт. Т.е. объявления не числятся за Незарегистрированным пользователем, а уже за некоторым зарегистрированным. <br /> '''WYSIWYG-редактор1 (editor1)'''<br /> Частный случай. <br /> '''Включить привязку улиц к городу (link_street_to_city)'''<br /> Обуславливает признак связи улиц с городами, в отличии от предустановленной связи улиц с районами городов. При включении требует добавления в модель улицы поля города. <br /> '''Использовать карту Google (use_google_map)'''<br /> Устанавливает использование Гугля в качестве провайдера картографии. Если не установлено - используется продукт Яндекса. <br /> '''Добавить возможность указания допустимого для звонка времени (allow_callme_timelimits)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер городского телефона (allow_additional_stationary_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Добавить дополнительный номер мобильного телефона (allow_additional_mobile_number)'''<br /> Добавляет дополнительное поле. Неактуально. <br /> '''Количество изображений для одного объекта (0 или ничего - без ограничений) (photo_per_data)'''<br /> Устанавливает ограничение на количество изображений, которые привязаны к недвижимости для поля типа uploadify_image. <br /> '''Пользователи могут добавлять улицы (user_add_street_enable)'''<br /> Включает режим возможности добавления пользователем недостающей улицы в процессе подачи объявления. <br /> '''Редактировать лицевой счет пользователя в админке (user_account_enable)'''<br /> <br /> '''Уведомлять пользователя о публикации его объявления после модерации. (notify_about_publishing)'''<br /> Указывает отсылать владельцу объявления нотификацию в виде электронного письма при смене администратором статуса его объявления с неактивного на активное. <br /> '''Тип апплоадера для загрузки картинок. При неуказанном значении по умолчанию используется Uploadify (uploader_type)'''<br /> Тип загрузчика картинок для поля типа uploadify_image <br /> '''E-mail для получения уведомлений о новых объявлениях (при отсутствии изпользуется order_email_acceptor) (add_notification_email)'''<br /> Почтовый адрес для уведомлений с сайта при подаче нового объявления незарегистрированным пользователем. <br /> '''Список идентификаторов категорий, в которых контакты в объявлениях спрятаны от простых пользователей (hide_topic_list)'''<br /> Устаревшее <br /> '''Включить поддержку нескольких валют (currency_enable)'''<br /> Включает возможность использования признака валюты с ценой. Аналогично включению приложения Менеджер валют. Кроме включения этой опции требует добавления в модель объявления поля отвечающего за выбор валюты. <br /> '''Количество объявлений на страницу в админке (per_page_admin)'''<br /> Кличество объявления на страницу. Только для административной части. <br /> '''Название закладки формы по-умолчанию (default_tab_name)'''<br /> Все поля в модели делятся на вкладки. Если ни одна вкладка не указана, или вкладки не указаны для всех полей, то "безвкладочные" поля будут помещены во вкладку с именем из этого поля. <br /> '''Разрешить картинки в разделах (allow_topic_images)'''<br /> В разработке. <br /> '''Заголовок главной (meta_title_main)'''<br /> Текст, который будет помещен в тег head>title для главной страницы. <br /> '''Ключевые слова главной (meta_keywords_main)'''<br /> Текст, который будет помещен в тег head>meta[name=keywords] для главной страницы. <br /> '''Мета-описание главной (meta_description_main)'''<br /> Текст, который будет помещен в тег head>meta[name=description] для главной страницы. <br /> '''Использовать активацию аккаунта по email при регистрации (use_registration_email_confirm)'''<br /> Указывает необходимость активировать вновь зарегистрированный аккаунт посредством электронной почты. До момента активации аккаунт будет считаться неактивным. <br /> '''Подпись в письмах (email_signature)'''<br /> Текс, который будет размещаться в конце писем, отправляемых сайтом. <br /> '''Делить формы на шаги (divide_step_form)'''<br /> Частный случай. <br /> '''Не допускать добавления дубликатов данных (filter_double_data)'''<br /> Встроенная функция минималистического контроля за дублированием данных. Для мало-мальски крупных сайтов встроенная функция не будет удовлетворять, поэтому ее алгоритм должен быть модифицирован согласно требований. <br /> '''Использовать combobox в элементах select (use_combobox)'''<br /> Переводит элементы типа select_by_query в состояние отображение в виде комбобокса - списка с автодополнением и возможность развернуть весь список. В некоторых шаблонах может не иметь ожидаемого стилевого оформления, так что может понадобиться некоторая дизайнерская доработка. <br /> '''Блокировать корневые элементы в селектбоксах структуры (disable_root_structure_select)'''<br /> Режим, при котором в селектбоксе категорий (topic_id) блокируется возможность выбора самых верхних в дереве структуры разделов. <br /> '''Игнорировать свободно с (ignore_free_from_parameter)'''<br /> Частный случай. <br /> '''Выводить дерево каталогов слева в списке объявлений (show_cattree_left)'''<br /> Управляет положением списка категорий в ЛК. При выключенной опции, список категорий располагается одним блоком со списком объявлений. При включенной - категории отчаливаются от объявлений и могут быть замещены отдельно. Основное применение в шаблоне realty и его клонах. <br /> '''Количество VIP-объявлений в колонке (vip_rotator_number)'''<br /> Количество объявлений подбираемых из БД для показа в колонке с ВИП-объявлениями. Работает при включенном приложении Биллинг. <br /> '''Цена Премиум-объявления за 1 день (premium_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Премиум. <br /> '''Уведомлять пользователя о добавленных объявлениях (notify_about_added_realty)'''<br /> Указывает уведомлять пользователя, подавшего объявление, о том, что он подал объявление электронным письмом, в котором содержится ссылка на поданное объявление. <br /> '''Уведомлять администратора о новой регистрации пользователя (notify_admin_about_register)'''<br /> Уведомляет администратора о том, что на сайте появился новый пользователь. Уведомляет в момент регистрации, а не подтверждения регистрации, если включена соответствующая опция. <br /> '''Использовать настраиваемую сетку в выводе в админке (тестовый режим) (use_new_realty_grid)'''<br /> Предписывает использовать настраиваемую сетку объявления для админки, которую можно создать через Редактор форм - Grid. <br /> '''Цена выделения объявления за 1 день (bold_cost)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость присваивания объявлению статуса Выделено. <br /> '''Цена одного поднятия (ups_price)'''<br /> Составная часть настроек к приложению Биллинг. Определяет стоимость "освежения" объявления. <br /> '''В личном кабинете доступна галочка спец.размещений (enable_special_in_account)'''<br /> Включить возможность устанавливать статус Спецпредложение в ЛК. <br /> '''Использовать локальную форму добавления объявлений (use_custom_addform)'''<br /> Частный случай. <br /> '''Тип списка объявлений (list - обычная таблица, thumbs - div-блоки (grid_type)'''<br /> Тип вывода сетки объявлений по умолчанию. <br /> '''Админ может поднимать объявления (show_up_icon)'''<br /> Включение кнопки поднятия объявления в списке объявлений в админке. <br /> '''Блокировать формы поиска пользователя (block_user_search_forms)'''<br /> Принудительно игнорирование созданных пользователем форм поиска. Используется для быстрокго перехода к стандартной форме шаблона без удаления пользовательских. <br /> '''Блокировать фронтальные сетки пользователя (block_user_front_grids)'''<br /> Принудительно игнорирование сеток вывода объявлений созданных пользователем через Редактор форм для использования базовой. <br /> '''Количество похожих объявлений в просмотре объявления (similar_items_count)'''<br /> Количество объявлений которые будут отображены в разделе Похожие объявления. <br /> '''Ширина картинки пользователя (user_pic_width)'''<br /> '''Высота картинки пользователя (user_pic_height)'''<br /> Регулируют размеры аватарки пользователя. <br /> '''Название валюты в личном кабинете (ue_name)'''<br /> Строковое название внутренней валюты ЛК. <br /> '''Формат даты (date_format)'''<br /> В разработке. <br /> '''От чьего email будут отправляться письма с сайта. (system_email)'''<br /> '''Сохранять копию избражений без водяного знака (save_without_watermark)'''<br /> Если включена эта опция и опция принуждающая к нанесению водяного знака, то, кроме поноразмерного изображения с одяным знаком, будет дополнительно сохраняться такое же чистое изображение. Бывает нужно при организации выгрузок. <br /> '''Mailer: Отключить передачу дополнительных флагов в заголовках письма (disable_mail_additionals)'''<br /> Отключение некоторых не повсеместно поддерживаемых заголовков почтовика. <br /> '''Использовать встроенный счетчик просмотров (use_realty_view_counter)'''<br /> Включение\отключение встроенного счетчика просмотров объявления <br /> '''Не публиковать объявления из ЛК без премодерации (moderate_first)'''<br /> Принудительно ставит на объявления добавленные или измененные через ЛК статус неактивности. <br /> '''Ширина большой картинки в комплексах (complex_image_big_width)'''<br /> '''Высота большой картинки в комплексах (complex_image_big_height)'''<br /> '''Ширина превью картинки в комплексах (complex_image_preview_width)'''<br /> '''Высота превью картинки в комплексах (complex_image_preview_height)'''<br /> Набор параметров для загружаемых картинок для Жилых комплексов. Применимо к типу поля uploadify_image. <br /> '''Убрать поля ввода контактов из формы добавления объявления в личном кабинете (hide_contact_input_user_data)'''<br /> В форме объявления в ЛК позволяет убрать поля контактных данных (имя, телефон, email) связи с их избыточностью. <br /> '''Уведомлять администратора о платежах по email (notify_about_payment)'''<br /> При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. <br /> '''Закрыть сайт (is_underconstruction)'''<br /> Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. <br /> '''IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip)'''<br /> Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. <br /> '''Регистрация: сила пароля (0|1|2|3) (register_passstregth)'''<br /> Указывает силу пароля задаваемого пользователем при регистрации. Може иметь целочисельное значение от 0 до 3, где 0 - умолчательное<br /> 0 - допускается любой пароль кроме самых слабых, например состоящих из одного и того же знака (11111 или dddddd)<br /> 1 - пароль должен содержать цифры и буквы (хотя бы одну букву и хотя бы одну цифру)<br /> 2 - пароль должен содержать цифры и буквы в разном регистре<br /> 3 - кроме цифр и букв в разном регистре, пароль должен содержать хотя бы один символ не цифро-буквенного ряда<br /> <br /> '''Куда добавлять количество страниц в заголовке (add_pagenumber_title_place)'''<br /> Указывает месторазмещение надписи ''[Страница N]''. Имеет смысл при включенной настройке ''(add_pagenumber_title)''<br /> Может размещать эту надпись в заголовке страницы, в заголовке браузера или в обеих местах. <br /> '''Формат строки заголовка (apps.realty.title_preg)''' - находится во вкладке Дополнительно<br /> Тут можно прописать с помощью тегов '''{city_id}, {street_id}, {number}''' - нужный нам формат заголовка. В {} - указывается системное название колонки для вывода. А все что не входит в {} будет выводится как есть. <br /> '''Использовать капчу на входе в админку (use_captcha_admin_entry)'''<br /> Указывает использовать ли капчу на форме входа в административную часть. Требует установки настройки ''Тип капчи (captcha_type)'' в состояние отличное от "игнорировать". ab366ed0416eb2ec4b5b2afebb2b9a876b2f0fe8 Приложение "SEO-Оптимизация" 0 49 549 420 2017-02-27T02:44:04Z Kondin 1 wikitext text/x-wiki Приложение SEO-Оптимизация служит для работ по формированию и разбору URL объявлений и разделов сайта. == Работа == Приложение располагает двумя доступными операциями<br /> * Обновить структуру каталогов * Обновить алиасы объявлений <br /> '''Обновить структуру каталогов'''<br /> Проходится по всем элементам структуры и формирует для них текстовые алиасы на основе транслитераии. Данные алиасы будут использоваться для формирования ссылок на категории. Сформированное значение будет записано в таблицу re_topic в поле url и, соответственно, это поле должно присутствовать в этой таблице. Формирование алиасов происходит только для тех элементов структуры, для которых эти алиасы еще не определены. Sitebill не следит за уникальностью этих алиасов. Поэтому, если вы присвоили пункту структуры Квартиры алиас zhilaya, то для пункта Жилая, если алиас не указан, при формировании будет присвоен такой же алиас, что приведет к не совсем логичной работе. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, цифр и знака подчеркивания в нижнем регистре # Алиас должен быть уникален в пределах структуры категорий # Алиас указывается без учета иерархичности. Для пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira, а только kvartira # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> '''Обновить алиасы объявлений'''<br /> Проходится по всем объявлениям и формирует для них текстовые алиасы, которые будут использованы при включенном режиме '''apps.seo.data_alias_enable''' на основе правил указанных в '''apps.seo.allow_custom_realty_aliases''' и '''apps.seo.allow_custom_realty_aliase_fields'''. Данные алиасы будут использоваться для формирования ссылок на объявления. Сформированное значение будет записано в таблицу re_data в поле translit_alias. Из чего следует, что модель вашего объявления должна иметь в своем составе поле с системным именем translit_alias. Формирование алиасов происходит только для тех объявлений, для которых эти алиасы еще не определены. Вы в праве самостоятельно указывать алиасы. Основые правила при их указании: # Алиас должен состоять из латинских букв, тире, цифр и знака подчеркивания в нижнем регистре # Алиас указывается без учета иерархичности. Для объявления из пункта Квартира, вложенного в пункт Жилая нет надобности указывать zhilaya/kvartira/alias-moyego-obyavlenia, а только alias-moyego-obyavlenia # Лидирующие и замыкающие слеши в алиасе недопустимы <br /> == Настройки == '''Включить .html постфиксы в конце URL объявлений (apps.seo.html_prefix_enable)'''<br /> Настройка включает\выключает режим добавления постфикса '.html' к адресам объявлений, которые генерируются автоматически без использования ЧПУ урлов.<br /> При включенной опции URL объявления будет иметь вид <pre>.../realty17.html</pre> При выключенной <pre>.../realty17</pre> <br /> '''Разрешить многоуровневые URL в категориях (apps.seo.level_enable)'''<br /> Указывает использовать или нет иерархическую структуру построения для URL категорий. Так же указывает своим включением вывод иерархии категорий для uRL объявления.<br /> Например у нас есть корневая категория Жилая с алиасом zhilaya и категория Квартира с алиасом kvartira, которая является дочерней к Жилая. И есть объявление с ИД=17 в категории Квартира.<br /> Тогда при включенной опции адреса этих категорий будут выглядеть следующим образом <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/zhilaya/kvartira/ Жилая/Квартира/Объявление - домен/zhilaya/kvartira/realty17[.html] </pre> Если же опция отключена, то <pre> Жилая - домен/zhilaya/ Жилая/Квартира - домен/kvartira/ Жилая/Квартира/Объявление - домен/realty17[.html] </pre> <br /> '''Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)'''<br /> При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей.<br /> Для корректной работы этой опции в редакторе форм вам нужно добавить в data поле translit_alias с типом safe_string (доступ только администратору)<br/> Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид <pre> .../otlichnaya_kvartira_v_egipte </pre> Если же опция отключена, то <pre> .../realty17[.html] </pre> <br /> '''Разрешить установку нестандартных алиасов (apps.seo.allow_custom_realty_aliases)'''<br /> По умолчанию, алиасы для объявлений формируются на основании встроенного алгоритма на основании значений полей city_id, street_id, number с уникальный идентификатором в конце. Т.е. для объявления из города Кемерово, улицы Главной, дома #7 алиас будет иметь примерный вид kemerovo-glavnaya-7. Для еще одного объявления по этому же адресу алиас получит вид <pre>kemerovo-glavnaya-7-1</pre> Если опция включена, то вы получаете возможность указать свой набор полей для формирования алиаса, либо задавать его самостоятельно. В первом случае Сайтбилль будет следить за уникальностью и доставлять уникальную цифру в конце совпадающих алиасов, а во втором вам придется следить за уникальностью самостоятельно. <br /><br /> '''Набор полей нестандартных алиасов (apps.seo.allow_custom_realty_aliase_fields)'''<br /> Через запятую указывается список системных имен полей модели объявления на основании которых будет сформирован алиас объявления. <br /> Например, у нас есть объявление с ИД=17 и reaty_name (Заголовок объявления) - "Отличная квартира в Египте". Указав в значении этой опции <pre>reaty_name,id</pre> мы получим алиас для объявления вида <pre>otlichnaya-kvartira-v-egipte-17</pre> == Пример == '''Ссылка объявления'''<br /> Объект с ID=456.<br /> Алиас объекта nedorogaya-kvartira<br /> Расположен в разделе Продажа - Квартира с алиасами prodazha и kvartira<br /> {| class="wikitable" |- ! apps.seo.level_enable !! apps.seo.data_alias_enable !! apps.seo.html_prefix_enable !! Конечный вид ссылки !! Прим. |- | 1 || 1 || 1 || prodazha/kvartira/nedorogaya-kvartira || Если translit_alias не указан, то prodazha/kvartira/realty456.html |- | 1 || 1 || 0 || prodazha/kvartira/nedorogaya-kvartira || Если translit_alias не указан, то prodazha/kvartira/realty456 |- | 1 || 0 || 1 || prodazha/kvartira/realty456.html || |- | 1 || 0 || 0 || prodazha/kvartira/realty456 || |- | 0 || 1 || 1 || nedorogaya-kvartira || Если translit_alias не указан, то realty456.html |- | 0 || 1 || 0 || nedorogaya-kvartira || Если translit_alias не указан, то realty456 |- | 0 || 0 || 1 || realty456.html || |- | 0 || 0 || 0 || realty456 || |} '''Ссылка категории'''<br /> Расположен в разделе Продажа - Квартира с алиасами prodazha и kvartira<br /> ID раздела 27<br /> {| class="wikitable" |- ! apps.seo.level_enable !! Конечный вид ссылки !! Прим. |- | 1 || prodazha/kvartira || Если url не указан, то topic27.html |- | 0 || topic27.html || |} ae02cc80065304141a64a9c9dff01530fd95cc61 Приложение "Выгрузка Yandex.Realty" 0 31 550 493 2017-03-03T11:06:42Z Kondin 1 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> 5be96c0136e390495ac637d9f9c186d9279e3e91 Как создать пользовательскую форму заявки 0 35 551 124 2017-03-06T06:42:47Z Kondin 1 wikitext text/x-wiki Необходимо создать пользовательскую форму заявки для того, что бы пользователь мог передать некоторые данные на обработку администратору. '''Ингридиенты:'''<br /> приложение Клиенты (версия 1.0.1)<br /> приложение Статические страницы (версия 1.1.1)<br /> 1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet.<br /><br /> 2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно.<br /><br /> 3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей.<br /><br /> 4. Для формы заявки есть три служебных поля. Это:<br /> fio (Ваше имя) - safe_string поле<br /> email (Email) - safe_string поле<br /> phone (телефон) - safe_string поле<br /> Эти поля нужны для ведения учета заявок, поэтому даже если вы не зададите их сами в своей модели заявки, они будут добавлены автоматически.<br /><br /> 5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок.<br /> Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на расчет}<br /><br /> 6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где<br /> client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент raschet - имя модели вашей формы заявки<br /> Вывод в браузер будет содержать только форму заявки.<br /><br /> 7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделивашейформы, т.е. в данном случае client_order_raschet.tpl<br /> Этот файл должен содержать, в обязательном порядке,<br /> <pre> {$form} </pre> Все остальное на ваше усмотрение. Например: <pre> <h1>Тут мой заголовок к заявке</h1> <p>Тут какой-то текст перед формой</p> {$form} <hr /> <p>Тут какой-то текст под горизонталью под формой</p> </pre> <br /> 8. Добавляем мета-информацию.<br /> Для присоединения к вашей форме некоторой мета-информации используем приложение Статические страницы. Создаем статическую страницу с полем URI client_order_имямоделивашейформы или же client_order_raschet<br /> Для этой страницы указываем ту мета-информацию, которую хотим увидеть вместе с нашей формой заявки и сохраняем. <br> Видео-урок по этой теме https://www.youtube.com/watch?v=8kv9LRu_oAw 6013c9a8b25fd8fdbbf3b4c0e083ad7cdff56bd5 552 551 2017-03-06T06:43:09Z Kondin 1 wikitext text/x-wiki Необходимо создать пользовательскую форму заявки для того, что бы пользователь мог передать некоторые данные на обработку администратору. '''Ингридиенты:'''<br /> приложение Клиенты (версия 1.0.1)<br /> приложение Статические страницы (версия 1.1.1)<br /> 1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet.<br /><br /> 2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно.<br /><br /> 3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей.<br /><br /> 4. Для формы заявки есть три служебных поля. Это:<br /> fio (Ваше имя) - safe_string поле<br /> email (Email) - safe_string поле<br /> phone (телефон) - safe_string поле<br /> Эти поля нужны для ведения учета заявок, поэтому даже если вы не зададите их сами в своей модели заявки, они будут добавлены автоматически.<br /><br /> 5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок.<br /> Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на расчет}<br /><br /> 6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где<br /> client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент raschet - имя модели вашей формы заявки<br /> Вывод в браузер будет содержать только форму заявки.<br /><br /> 7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделивашейформы, т.е. в данном случае client_order_raschet.tpl<br /> Этот файл должен содержать, в обязательном порядке,<br /> <pre> {$form} </pre> Все остальное на ваше усмотрение. Например: <pre> <h1>Тут мой заголовок к заявке</h1> <p>Тут какой-то текст перед формой</p> {$form} <hr /> <p>Тут какой-то текст под горизонталью под формой</p> </pre> <br /> 8. Добавляем мета-информацию.<br /> Для присоединения к вашей форме некоторой мета-информации используем приложение Статические страницы. Создаем статическую страницу с полем URI client_order_имямоделивашейформы или же client_order_raschet<br /> Для этой страницы указываем ту мета-информацию, которую хотим увидеть вместе с нашей формой заявки и сохраняем. <br> <br> '''Видео-урок по этой теме https://www.youtube.com/watch?v=8kv9LRu_oAw ''' 81b9a45fd6bd11e3bf57feed34440850382b15bb Приложение "Yandex.Realty Parser" 0 70 554 553 2017-03-16T10:16:40Z Kondin 1 wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Установка == Распакуйте архив и загрузите в корень сайта, так чтобы /cron.php лежал в корне, а /apps/yandexrealty_parser/yandexrealty_parser.xml лежал именно по этому пути.</br> После этого обязательно зайдите в обновления и обновите приложение yandexrealty_parser.<br> Теперь зайдите в редактор форм и в таблице user_by_domain нажмите создать "Обработчик по-умолчанию" это иконка со звездочкой справа от названия таблицы.<br> Введите название обработчика "Источники парсинга XML".<br> После сохранения у вас в админке справа сверху должен появиться в меню Пользовательские пункт Источники парсинга XML.<br> Зайдите в этот пункт меню и можете добавить новую запись. Выберите пользователя и адрес URL для xml данных, например http://другойсайт.ru/yandex.xml<br> Также необходимо зайти в настройки во вкладку Yandex.Realty Parser установите (apps.yandexrealty_parser.use_image_cache) = 1 и (apps.yandexrealty_parser.create_yandex_category_structure) = 1<br> Теперь можно запустить парсинг объектов запустив в браузере http://вашсайт/cron.php - первый запуск загурзит только текстовые данные, после загрузки необходимо зайти в Приложения - Seo- оптимизация и нажмите там Обновить структуру.<br> Для загрузки картинок необходимо запустить: http://вашсайт/cron.php?parse_images=1 - при каждом запуске по-умолчанию идет парсинг 10 объявлений.<br> ВНИМАНИЕ!!! Рекомендуется запускать парсинг сначала на тестовом сайте, так как эта операция загуржает в базе большое количество данных, в некоторых xml их может быть больше 10 тыс.<br> <br> Можно добавить задачи в планировщик, чтобы они автоматически запускались <br> Например, строчка запуска парсинга XML раз в 30 минут<br> */30 * * * * /usr/bin/wget -O /dev/null -q http://вашсайт/cron.php Пример запуска парсинга картинок раз в 5 минут<br> */5 * * * * /usr/bin/wget -O /dev/null -q http://вашсайт/cron.php?parse_images=1 == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID<br /> == Сличение объектов == Объекты в фиде и объекты на сайте проходят сличение для того, что бы определить какие объекты являются аналогичными в фиде и в сайте и подлежат обновлению, а какие являются новыми и требуют вставки. Сличение может проводиться либо по полю модели объекта data с именем url, в котором хранится урл объявления из xml-фида, либо по идентификатору объекта в БД, который может соответствовать аналогичному в xml-фиде.<br /> Переключение между этими двумя режимами выполняется настройкой '''Использовать internal-id в качестве ID (apps.yandexrealty_parser.use_internalids)'''. При ее включении объекты будут добавляться в сайт с идентификаторами равными идентификаторам объектов в xml-фиде.<br /> == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === Используется при выключенной настройке apps.yandexrealty_parser.connected_geo<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" и его ID=12 в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". А сами города указываются в нашей модели объекта в поле с именем city_id. Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить эти данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Настройки == '''apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей''' :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' '''apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий''' :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.category_for_all - Категория по умолчанию''' :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' a571131e533b2b1b99e84da8fffdd7aa1b291d82 555 554 2017-03-16T10:37:50Z Kondin 1 wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Установка == Распакуйте архив и загрузите в корень сайта, так чтобы /cron.php лежал в корне, а /apps/yandexrealty_parser/yandexrealty_parser.xml лежал именно по этому пути.</br> После этого обязательно зайдите в обновления и обновите приложение yandexrealty_parser.<br> Теперь зайдите в редактор форм и в таблице user_by_domain нажмите создать "Обработчик по-умолчанию" это иконка со звездочкой справа от названия таблицы.<br> Введите название обработчика "Источники парсинга XML".<br> После сохранения у вас в админке справа сверху должен появиться в меню Пользовательские пункт Источники парсинга XML.<br> Зайдите в этот пункт меню и можете добавить новую запись. Выберите пользователя и адрес URL для xml данных, например http://другойсайт.ru/yandex.xml<br> Также необходимо зайти в настройки во вкладку Yandex.Realty Parser установите (apps.yandexrealty_parser.use_image_cache) = 1 и (apps.yandexrealty_parser.create_yandex_category_structure) = 1<br> Теперь можно запустить парсинг объектов запустив в браузере http://вашсайт/cron.php - первый запуск загурзит только текстовые данные, после загрузки необходимо зайти в Приложения - Seo- оптимизация и нажмите там Обновить структуру.<br> Для загрузки картинок необходимо запустить: http://вашсайт/cron.php?parse_images=1 - при каждом запуске по-умолчанию идет парсинг 10 объявлений.<br> ВНИМАНИЕ!!! Рекомендуется запускать парсинг сначала на тестовом сайте, так как эта операция загуржает в базе большое количество данных, в некоторых xml их может быть больше 10 тыс.<br> <br> Можно добавить задачи в планировщик, чтобы они автоматически запускались <br> Например, строчка запуска парсинга XML раз в 30 минут<br> */30 * * * * /usr/bin/wget -O /dev/null -q http://вашсайт/cron.php Пример запуска парсинга картинок раз в 5 минут<br> */5 * * * * /usr/bin/wget -O /dev/null -q http://вашсайт/cron.php?parse_images=1 == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID<br /> == Сличение объектов == Объекты в фиде и объекты на сайте проходят сличение для того, что бы определить какие объекты являются аналогичными в фиде и в сайте и подлежат обновлению, а какие являются новыми и требуют вставки. Сличение может проводиться либо по полю модели объекта data с именем url, в котором хранится урл объявления из xml-фида, либо по идентификатору объекта в БД, который может соответствовать аналогичному в xml-фиде.<br /> Переключение между этими двумя режимами выполняется настройкой '''Использовать internal-id в качестве ID (apps.yandexrealty_parser.use_internalids)'''. При ее включении объекты будут добавляться в сайт с идентификаторами равными идентификаторам объектов в xml-фиде.<br /> == Перелинковка категорий == При парсинге будет создаваться структура яндексовая в структуре.<br /> Сейчас создался раздел Аренда.<br /> Их можно выключить если в редактировании раздела убрать галочку Раздел активен и тогда раздел будет отмечен оранжевым, т.е. он будет виден в админке но не будет виден на сайте и при добавлении объектов его не будет видно.<br /> Чтобы перекидывать объекты из этого нового раздела в существующий в структуре есть кнопка Переадресация категорий.<br /> Там можно в средней колонке выбирать куда перенаправлять объявления (выпадающий список и сохранить потом).<br /> Часто бывает так, что в одном разделе собирается куча объектов по разным количествам комнат.<br /> Например, раздел Аренда – Жилая – Квартира и в него будут приходить все квартиры не зависимо от количества комнат.<br /> Если вам нужно разделить на своем сайте количество комнат в каждый отдельный раздел, тогда нужно заполнять поле system.PARAMS<br /> Туда нужно вписывать идентификатор категории и признак указывающий на количество комнат.<br /> Например, <br /> {"23":[{"number":1}],"24":[{"number":2}],"25":[{"number":3}],"26":[{"number":4}]}<br /> В этом правиле следующая логика<br /> ''Объекты с количеством комнат 1 будут перекидываться в раздел с идентификатором 23<br /> Объекты с количеством комнат 2 будут перекидываться в раздел с идентификатором 24<br /> Объекты с количеством комнат 3 будут перекидываться в раздел с идентификатором 25<br /> Объекты с количеством комнат 4 и более будут перекидываться в раздел с идентификатором 26<br /> '' == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === Используется при выключенной настройке apps.yandexrealty_parser.connected_geo<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" и его ID=12 в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". А сами города указываются в нашей модели объекта в поле с именем city_id. Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить эти данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Настройки == '''apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей''' :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' '''apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий''' :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.category_for_all - Категория по умолчанию''' :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' 3de8728107f79507fab4f5633df6ece505d3603d 556 555 2017-03-16T10:43:21Z Kondin 1 /* Перелинковка категорий */ wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Установка == Распакуйте архив и загрузите в корень сайта, так чтобы /cron.php лежал в корне, а /apps/yandexrealty_parser/yandexrealty_parser.xml лежал именно по этому пути.</br> После этого обязательно зайдите в обновления и обновите приложение yandexrealty_parser.<br> Теперь зайдите в редактор форм и в таблице user_by_domain нажмите создать "Обработчик по-умолчанию" это иконка со звездочкой справа от названия таблицы.<br> Введите название обработчика "Источники парсинга XML".<br> После сохранения у вас в админке справа сверху должен появиться в меню Пользовательские пункт Источники парсинга XML.<br> Зайдите в этот пункт меню и можете добавить новую запись. Выберите пользователя и адрес URL для xml данных, например http://другойсайт.ru/yandex.xml<br> Также необходимо зайти в настройки во вкладку Yandex.Realty Parser установите (apps.yandexrealty_parser.use_image_cache) = 1 и (apps.yandexrealty_parser.create_yandex_category_structure) = 1<br> Теперь можно запустить парсинг объектов запустив в браузере http://вашсайт/cron.php - первый запуск загурзит только текстовые данные, после загрузки необходимо зайти в Приложения - Seo- оптимизация и нажмите там Обновить структуру.<br> Для загрузки картинок необходимо запустить: http://вашсайт/cron.php?parse_images=1 - при каждом запуске по-умолчанию идет парсинг 10 объявлений.<br> ВНИМАНИЕ!!! Рекомендуется запускать парсинг сначала на тестовом сайте, так как эта операция загуржает в базе большое количество данных, в некоторых xml их может быть больше 10 тыс.<br> <br> Можно добавить задачи в планировщик, чтобы они автоматически запускались <br> Например, строчка запуска парсинга XML раз в 30 минут<br> */30 * * * * /usr/bin/wget -O /dev/null -q http://вашсайт/cron.php Пример запуска парсинга картинок раз в 5 минут<br> */5 * * * * /usr/bin/wget -O /dev/null -q http://вашсайт/cron.php?parse_images=1 == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID<br /> == Сличение объектов == Объекты в фиде и объекты на сайте проходят сличение для того, что бы определить какие объекты являются аналогичными в фиде и в сайте и подлежат обновлению, а какие являются новыми и требуют вставки. Сличение может проводиться либо по полю модели объекта data с именем url, в котором хранится урл объявления из xml-фида, либо по идентификатору объекта в БД, который может соответствовать аналогичному в xml-фиде.<br /> Переключение между этими двумя режимами выполняется настройкой '''Использовать internal-id в качестве ID (apps.yandexrealty_parser.use_internalids)'''. При ее включении объекты будут добавляться в сайт с идентификаторами равными идентификаторам объектов в xml-фиде.<br /> == Перелинковка категорий == Для активации этого режима включите две опции в Настройках Использовать переключатель активности для категорий (use_topic_publish_status) и Включить переадресацию категорий (use_topic_linker) При парсинге будет создаваться структура яндексовая в структуре.<br /> Сейчас создался раздел Аренда.<br /> Их можно выключить если в редактировании раздела убрать галочку Раздел активен и тогда раздел будет отмечен оранжевым, т.е. он будет виден в админке но не будет виден на сайте и при добавлении объектов его не будет видно.<br /> Чтобы перекидывать объекты из этого нового раздела в существующий в структуре есть кнопка Переадресация категорий.<br /> Там можно в средней колонке выбирать куда перенаправлять объявления (выпадающий список и сохранить потом).<br /> Часто бывает так, что в одном разделе собирается куча объектов по разным количествам комнат.<br /> Например, раздел Аренда – Жилая – Квартира и в него будут приходить все квартиры не зависимо от количества комнат.<br /> Если вам нужно разделить на своем сайте количество комнат в каждый отдельный раздел, тогда нужно заполнять поле system.PARAMS<br /> Туда нужно вписывать идентификатор категории и признак указывающий на количество комнат.<br /> Например, <br /> {"23":[{"number":1}],"24":[{"number":2}],"25":[{"number":3}],"26":[{"number":4}]}<br /> В этом правиле следующая логика<br /> ''Объекты с количеством комнат 1 будут перекидываться в раздел с идентификатором 23<br /> Объекты с количеством комнат 2 будут перекидываться в раздел с идентификатором 24<br /> Объекты с количеством комнат 3 будут перекидываться в раздел с идентификатором 25<br /> Объекты с количеством комнат 4 и более будут перекидываться в раздел с идентификатором 26<br /> '' == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === Используется при выключенной настройке apps.yandexrealty_parser.connected_geo<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" и его ID=12 в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". А сами города указываются в нашей модели объекта в поле с именем city_id. Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить эти данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Настройки == '''apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей''' :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' '''apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий''' :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.category_for_all - Категория по умолчанию''' :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' 0fbb1104add25043cd9aed7532e196471f9f8634 577 556 2017-06-14T13:07:24Z Kondin 1 wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Установка == Распакуйте архив и загрузите в корень сайта, так чтобы /cron.php лежал в корне, а /apps/yandexrealty_parser/yandexrealty_parser.xml лежал именно по этому пути.</br> После этого обязательно зайдите в обновления и обновите приложение yandexrealty_parser.<br> Теперь зайдите в редактор форм и в таблице user_by_domain нажмите создать "Обработчик по-умолчанию" это иконка со звездочкой справа от названия таблицы.<br> Введите название обработчика "Источники парсинга XML".<br> После сохранения у вас в админке справа сверху должен появиться в меню Пользовательские пункт Источники парсинга XML.<br> Зайдите в этот пункт меню и можете добавить новую запись. Выберите пользователя и адрес URL для xml данных, например http://другойсайт.ru/yandex.xml<br> Также необходимо зайти в настройки во вкладку Yandex.Realty Parser установите (apps.yandexrealty_parser.use_image_cache) = 1 и (apps.yandexrealty_parser.create_yandex_category_structure) = 1<br> Теперь можно запустить парсинг объектов запустив в браузере http://вашсайт/cron.php - первый запуск загурзит только текстовые данные, после загрузки необходимо зайти в Приложения - Seo- оптимизация и нажмите там Обновить структуру.<br> Для загрузки картинок необходимо запустить: http://вашсайт/cron.php?parse_images=1 - при каждом запуске по-умолчанию идет парсинг 10 объявлений.<br> ВНИМАНИЕ!!! Рекомендуется запускать парсинг сначала на тестовом сайте, так как эта операция загуржает в базе большое количество данных, в некоторых xml их может быть больше 10 тыс.<br> <br> Можно добавить задачи в планировщик, чтобы они автоматически запускались <br> Например, строчка запуска парсинга XML раз в 30 минут<br> */30 * * * * /usr/bin/wget -O /dev/null -q http://вашсайт/cron.php Пример запуска парсинга картинок раз в 5 минут<br> */5 * * * * /usr/bin/wget -O /dev/null -q http://вашсайт/cron.php?parse_images=1 == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID<br /> == Сличение объектов == Объекты в фиде и объекты на сайте проходят сличение для того, что бы определить какие объекты являются аналогичными в фиде и в сайте и подлежат обновлению, а какие являются новыми и требуют вставки. Сличение может проводиться либо по полю модели объекта data с именем url, в котором хранится урл объявления из xml-фида, либо по идентификатору объекта в БД, который может соответствовать аналогичному в xml-фиде.<br /> Переключение между этими двумя режимами выполняется настройкой '''Использовать internal-id в качестве ID (apps.yandexrealty_parser.use_internalids)'''. При ее включении объекты будут добавляться в сайт с идентификаторами равными идентификаторам объектов в xml-фиде.<br /> == Перелинковка категорий == Для активации этого режима включите две опции в Настройках Использовать переключатель активности для категорий (use_topic_publish_status) и Включить переадресацию категорий (use_topic_linker) При парсинге будет создаваться структура яндексовая в структуре.<br /> Сейчас создался раздел Аренда.<br /> Их можно выключить если в редактировании раздела убрать галочку Раздел активен и тогда раздел будет отмечен оранжевым, т.е. он будет виден в админке но не будет виден на сайте и при добавлении объектов его не будет видно.<br /> Чтобы перекидывать объекты из этого нового раздела в существующий в структуре есть кнопка Переадресация категорий.<br /> Там можно в средней колонке выбирать куда перенаправлять объявления (выпадающий список и сохранить потом).<br /> Часто бывает так, что в одном разделе собирается куча объектов по разным количествам комнат.<br /> Например, раздел Аренда – Жилая – Квартира и в него будут приходить все квартиры не зависимо от количества комнат.<br /> Если вам нужно разделить на своем сайте количество комнат в каждый отдельный раздел, тогда нужно заполнять поле system.PARAMS<br /> Туда нужно вписывать идентификатор категории и признак указывающий на количество комнат.<br /> Например, <br /> {"23":[{"number":1}],"24":[{"number":2}],"25":[{"number":3}],"26":[{"number":4}]}<br /> В этом правиле следующая логика<br /> ''Объекты с количеством комнат 1 будут перекидываться в раздел с идентификатором 23<br /> Объекты с количеством комнат 2 будут перекидываться в раздел с идентификатором 24<br /> Объекты с количеством комнат 3 будут перекидываться в раздел с идентификатором 25<br /> Объекты с количеством комнат 4 и более будут перекидываться в раздел с идентификатором 26<br /> ''<br /> Подробнее про перелинковку можно узнать на форуме https://www.sitebill.ru/s/topic/2723-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0-%D0%B4%D0%BB%D1%8F-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8-%D0%BE%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B8%D0%B7-%D0%B0%D0%B2%D0%B8%D1%82%D0%BE/?page=2<br /><br /> == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === Используется при выключенной настройке apps.yandexrealty_parser.connected_geo<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" и его ID=12 в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". А сами города указываются в нашей модели объекта в поле с именем city_id. Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить эти данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Настройки == '''apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей''' :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' '''apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий''' :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.category_for_all - Категория по умолчанию''' :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' 258615a216faa836faf73292f4ae9421626b37da Перевод 0 38 557 422 2017-03-22T10:50:25Z Kondin 1 wikitext text/x-wiki == Рекомендуемый быстрый способ перевода сайта == Вы можете использовать переводчик от Google, тут инструкция https://translate.google.com/manager/website/<br/> Это самый быстрый способ и не требует от вас дополнительных усилий.<br/> == Ручной перевод == Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для активации мультиязычного режима нужно включить в настройках во вкладке Редактор переводов опцию Использовать мультиязычность (apps.language.use_langs) - установите там значение 1.<br/> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.<br /> Например, нужно сделать перевод для поля text (описание) на английский язык (en).<br /> Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.<br /> В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.<br /> Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br /> Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. === Локализации === Языки подключаются в два этапа - этап локализации системы и этап локализации приложения ==== Этап локализации системы ==== Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language.<br /> В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1.<br /> Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык.<br /> ==== Этап локализации приложения ==== Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения. Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language.<br /> Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные ==== Редактор языков в админке ==== В новых версиях создан редактор языков в панели управления '''Приложения - Редактор переводов''' ==== Необходимые изменения в базе данных ==== Когда вы добавляете свой язык, вам необходимо добавить дополнительные поля в базе данных с помощью этих команд:<br /> alter table re_topic add column name_яз varchar(255);<br /> alter table re_menu_structure add column name_яз varchar(255);<br /> Где яз - это ваш языковой префикс. Например, если вы добавили японский язык, тогда яз = jp<br /> <br /> ==== Перевод шаблонов ==== <br/> Для того чтобы создавать языковые файлы в шаблоне, необходимо создать каталог в шаблоне<br/> /template/frontend/ваш_шаблон/language/ru/dictionary.ini (для русского языка)<br/> /template/frontend/ваш_шаблон/language/en/dictionary.ini (для английского языка)<br/> <br/> Вот пример dictionary.ini для русского языка<br/> LT_NEWS="Новости" LT_FOR_USER="Пользователю" LT_USEFUL="Полезное" LT_SPECIAL="Спецпредложение" LT_WE_OFFER="Мы предлагаем" LT_LIST="Список" LT_GRID="Сетка" LT_ORDER="Порядок" LT_SORTBY="Сортировать" LT_ORDER_UP="по возрастанию" LT_ORDER_DOWN="по убыванию" LT_SEARCH="Поиск" LT_VIEW_DETAILS="Подробнее" LT_CONTACT_AGENT="Связаться с агентом" LT_DESCRIPTION="Описание" LT_LOCATION="Расположение" LT_ADD_YOUR_OWN="Добавить свое объявление" LT_ADD_YOUR_OWN_DESC="На нашем сайте вы можете добавить информацию о своей недвижимости" LT_SCROLLUP="Наверх" LT_RENT_FLAT="Снять квартиру" LT_RENT_FLAT_DESC="Интересно арендовать, тогда заполните форму и мы подберем вам вариант" LT_MORTGAGES="Ипотека" LT_MORTGAGES_DESC="Быстро оформить ипотеку и жить в своей квартире, это проще чем думается." LT_SEARCH="Поиск" LT_NEW_OBJECTS="Новые объекты" LT_CONTACTUS="Написать нам" LT_ABOUT="О нас" Теперь внутри шаблона, например, в файле спец.предложений можно заменить слово Спец.предложения на языковую переменную, которая будет переводиться в соответствии с выбранным языком<br/> /template/frontend/ваш_шаблон/top_special.tpl<br/> Меняем слово Спец.предложения на {$L_SPECIAL_OFFERS}<br/> Обсудить на форуме https://www.sitebill.ru/s/topic/3345-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4-%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2/ 28cde6fe74d8f52bc521aa4e38d9f0d957acf571 Биллинг 0 13 558 508 2017-03-31T11:50:42Z Abushyk 2 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upperlimit=== Услуга '''upperlimit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upperlimit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - это значение для данной услуги не используется<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upperlimit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 58dad3f1107a430dfba21bad7622d39080edc185 559 558 2017-03-31T11:52:25Z Abushyk 2 /* upperlimit */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upperlimit=== Услуга '''upperlimit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upperlimit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upperlimit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 0cec77f4a42f6b3b43c18d75322bf33bc873c035 595 559 2017-08-01T09:26:11Z Kondin 1 Исправил название upper_limit wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upperlimit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 2b99f505052233cf74c664a8d318c4cc7c68c269 Приложение "Выгрузка AVITO" 0 68 560 435 2017-04-17T12:13:35Z Abushyk 2 wikitext text/x-wiki Выгрузка AVITO == Отслеживание результатов выгрузки == Просмотреть отчет о последней выгрузке Вы можете по адресу ВАШ_САЙТ/cache/avitoexporter.last.log.xml == Форсированная выгрузка == Данный тип выгрузки позволяет управлять составом и набором эспортируемых данных. Запрос на получение такой выгрузки происходит на стандартный выгрузочный адрес. Отличием является необходимость передачи в запросе параметра-пароля, который доложен соответствовать паролю, указанному в настройках приложения в пункте Пароль для форсированной выгрузки (apps.avitoexporter.force_pass). Если пароль не указан или не передан в запросе, будут выгружены записи согласно стандартных настроек.<br /> Для управления форсированной выгрузкой допустимо использовать следующие параметры:<br /> * activity - Управление активностью # 1 - выгружать только активные записи # 0 - выгружать только неактивные записи # любое другое значение или отсутствие параметра в запросе - выгружать все записи * time_limit - Управление сроком размещения # 1 - выгружать согласно настроек на ограничение по времени публикации # любое другое значение или отсутствие параметра в запросе - ограничения по времени публикации игнорируются * limit - Количество записей # любое целое число больше нуля # любое другое значение или отсутствие параметра в запросе - ограничения по количеству не применяются 0a7aba2fc3141c64c8eeb83586f45e7d783e39c2 561 560 2017-04-17T12:14:10Z Abushyk 2 wikitext text/x-wiki Выгрузка AVITO == Отслеживание результатов выгрузки == Просмотреть отчет о последней выгрузке Вы можете по адресу ВАШ_САЙТ/cache/avitoexporter.last.log.xml == Форсированная выгрузка == Данный тип выгрузки позволяет управлять составом и набором эспортируемых данных. Запрос на получение такой выгрузки происходит на стандартный выгрузочный адрес. Отличием является необходимость передачи в запросе параметра-пароля, который доложен соответствовать паролю, указанному в настройках приложения в пункте Пароль для форсированной выгрузки (apps.avitoexporter.force_pass). Если пароль не указан или не передан в запросе, будут выгружены записи согласно стандартных настроек.<br /> Для управления форсированной выгрузкой допустимо использовать следующие параметры:<br /> * activity - Управление активностью # ''1'' - выгружать только активные записи # ''0'' - выгружать только неактивные записи # ''любое другое значение или отсутствие параметра в запросе'' - выгружать все записи * time_limit - Управление сроком размещения # ''1'' - выгружать согласно настроек на ограничение по времени публикации # ''любое другое значение или отсутствие параметра в запросе'' - ограничения по времени публикации игнорируются * limit - Количество записей # ''любое целое число больше нуля'' # ''любое другое значение или отсутствие параметра в запросе'' - ограничения по количеству не применяются 2675aeba7289a9b929474d92d9c2b27df959b8ba 562 561 2017-04-17T12:14:54Z Abushyk 2 wikitext text/x-wiki Выгрузка AVITO == Отслеживание результатов выгрузки == Просмотреть отчет о последней выгрузке Вы можете по адресу ВАШ_САЙТ/cache/avitoexporter.last.log.xml == Форсированная выгрузка == Данный тип выгрузки позволяет управлять составом и набором эспортируемых данных. Запрос на получение такой выгрузки происходит на стандартный выгрузочный адрес. Отличием является необходимость передачи в запросе параметра-пароля, который доложен соответствовать паролю, указанному в настройках приложения в пункте Пароль для форсированной выгрузки (apps.avitoexporter.force_pass). Если пароль не указан или не передан в запросе, будут выгружены записи согласно стандартных настроек.<br /> Для управления форсированной выгрузкой допустимо использовать следующие параметры:<br /> * activity - Управление активностью # '''''1''''' - выгружать только активные записи # '''''0''''' - выгружать только неактивные записи # '''''любое другое значение или отсутствие параметра в запросе''''' - выгружать все записи * time_limit - Управление сроком размещения # '''''1''''' - выгружать согласно настроек на ограничение по времени публикации # '''''любое другое значение или отсутствие параметра в запросе''''' - ограничения по времени публикации игнорируются * limit - Количество записей # '''''любое целое число больше нуля''''' # '''''любое другое значение или отсутствие параметра в запросе''''' - ограничения по количеству не применяются 633388a5a538aaf720b160d14d77ba1352697dd8 563 562 2017-04-17T12:15:31Z Abushyk 2 wikitext text/x-wiki Выгрузка AVITO == Отслеживание результатов выгрузки == Просмотреть отчет о последней выгрузке Вы можете по адресу ВАШ_САЙТ/cache/avitoexporter.last.log.xml == Форсированная выгрузка == Данный тип выгрузки позволяет управлять составом и набором эспортируемых данных. Запрос на получение такой выгрузки происходит на стандартный выгрузочный адрес. Отличием является необходимость передачи в запросе параметра-пароля, который доложен соответствовать паролю, указанному в настройках приложения в пункте Пароль для форсированной выгрузки (apps.avitoexporter.force_pass). Если пароль не указан или не передан в запросе, будут выгружены записи согласно стандартных настроек.<br /> Для управления форсированной выгрузкой допустимо использовать следующие параметры:<br /> # activity - Управление активностью * '''''1''''' - выгружать только активные записи * '''''0''''' - выгружать только неактивные записи * '''''любое другое значение или отсутствие параметра в запросе''''' - выгружать все записи # time_limit - Управление сроком размещения * '''''1''''' - выгружать согласно настроек на ограничение по времени публикации * '''''любое другое значение или отсутствие параметра в запросе''''' - ограничения по времени публикации игнорируются # limit - Количество записей * '''''любое целое число больше нуля''''' * '''''любое другое значение или отсутствие параметра в запросе''''' - ограничения по количеству не применяются 3d23c26e6aee001811ef769afb091f13cc24646b 564 563 2017-04-17T12:16:27Z Abushyk 2 wikitext text/x-wiki Выгрузка AVITO == Отслеживание результатов выгрузки == Просмотреть отчет о последней выгрузке Вы можете по адресу ВАШ_САЙТ/cache/avitoexporter.last.log.xml == Форсированная выгрузка == Данный тип выгрузки позволяет управлять составом и набором эспортируемых данных. Запрос на получение такой выгрузки происходит на стандартный выгрузочный адрес. Отличием является необходимость передачи в запросе параметра-пароля, который доложен соответствовать паролю, указанному в настройках приложения в пункте Пароль для форсированной выгрузки (apps.avitoexporter.force_pass). Если пароль не указан или не передан в запросе, будут выгружены записи согласно стандартных настроек.<br /> Для управления форсированной выгрузкой допустимо использовать следующие параметры:<br /> # activity - Управление активностью * '''''1''''' - выгружать только активные записи * '''''0''''' - выгружать только неактивные записи * '''''любое другое значение или отсутствие параметра в запросе''''' - выгружать все записи # time_limit - Управление сроком размещения * '''''1''''' - выгружать согласно настроек на ограничение по времени публикации * '''''любое другое значение или отсутствие параметра в запросе''''' - ограничения по времени публикации игнорируются # limit - Количество записей * '''''любое целое число больше нуля''''' - будет выгружено не более указанного числа записей * '''''любое другое значение или отсутствие параметра в запросе''''' - ограничения по количеству не применяются a4cbad068001f276e946682321428e61e459ddcf 565 564 2017-04-17T12:20:19Z Abushyk 2 wikitext text/x-wiki Выгрузка AVITO == Отслеживание результатов выгрузки == Просмотреть отчет о последней выгрузке Вы можете по адресу ВАШ_САЙТ/cache/avitoexporter.last.log.xml == Форсированная выгрузка == Данный тип выгрузки позволяет управлять составом и набором эспортируемых данных. Запрос на получение такой выгрузки происходит на стандартный выгрузочный адрес. Отличием является необходимость передачи в запросе параметра-пароля, который доложен соответствовать паролю, указанному в настройках приложения в пункте Пароль для форсированной выгрузки (apps.avitoexporter.force_pass). Если пароль не указан или не передан в запросе, будут выгружены записи согласно стандартных настроек.<br /> Для управления форсированной выгрузкой допустимо использовать следующие параметры:<br /> # activity - Управление активностью * '''''1''''' - выгружать только активные записи * '''''0''''' - выгружать только неактивные записи * '''''любое другое значение или отсутствие параметра в запросе''''' - выгружать все записи # time_limit - Управление сроком размещения * '''''1''''' - выгружать согласно настроек на ограничение по времени публикации * '''''любое другое значение или отсутствие параметра в запросе''''' - ограничения по времени публикации игнорируются # limit - Количество записей * '''''любое целое число больше нуля''''' - будет выгружено не более указанного числа записей * '''''любое другое значение или отсутствие параметра в запросе''''' - ограничения по количеству не применяются === Пример === /avitoexporter/?pass=XXXXXX&activity=1&limit=10 - выгрузить 10 последних активных записей<br /> /avitoexporter/?pass=XXXXXX&activity=0&time_limit=1&limit=100 - выгрузить не более 100 последних неактивных записей, которые не старше временного ограничения указанного в админке<br /> /avitoexporter/?pass=XXXXXX - выгрузить все записи<br /> b14b591c422cb901e1f398a1b152220b2024f6cc Приложения 0 6 566 510 2017-05-05T10:02:23Z Kondin 1 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]] Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 2b912dcc42bd992c2257a760534d45a5a3a8fba4 587 566 2017-07-20T06:34:26Z Kondin 1 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]] [[Realtylogv2|Приложение "Realtylogv2"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) a7ce44dfc6076e39c9aea2160188105f3324b743 588 587 2017-07-20T06:34:45Z Kondin 1 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) e7c8d5e64e8ca5e752fb5fdc266502ec9d7df5ef 592 588 2017-08-01T09:19:12Z Kondin 1 Добавил ссылку на Приложение Отзывы wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 6bbe55ecf3c6dc78caa2eac41d05ae18ec3a54e1 Магазин контактов 0 72 567 2017-05-05T10:03:47Z Kondin 1 Новая страница: «Шаблон отправки SMS сообщения с кодом<br> '''Vy aktivirovali kluch dostupa: ______'''» wikitext text/x-wiki Шаблон отправки SMS сообщения с кодом<br> '''Vy aktivirovali kluch dostupa: ______''' be84c20d2c57f71aed3e881a45fd162bb3be2c04 Заглавная страница 0 1 568 349 2017-05-22T06:32:54Z Kondin 1 wikitext text/x-wiki ==Техническая документация CMS Sitebill== [[Введение]]<br /> [[Типы элементов форм]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Меню]]<br /> [[Шаблон]]<br /> [[Общие настройки]]<br /> [[Связанные элементы]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[mail|Настройка отправки писем с сайта]]<br /> [[hooks|Пользовательские обработчики - hooks]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Перевод|Перевод контента на другие языки]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 6eafbeffd97a15ed2908f2dcd6dbffc793371cbe Hooks 0 73 569 2017-05-22T06:39:42Z Kondin 1 Новая страница: «Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подката…» wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki><br /> Функция BeforPrintOptionName_getCategorySelectBoxWithName будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента. f1046933842e7c8c86deb8563ab507bebe321ee6 570 569 2017-05-22T06:40:28Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <nowiki> <?php<br /> function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) {<br /> if ( $value == 'Найти квартиру' ) {<br /> $value = 'Аренда квартир';<br /> }<br /> return $value;<br /> }<br /> </nowiki><br /> Функция BeforPrintOptionName_getCategorySelectBoxWithName будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента. 9033e2fcc14881dbf8110a7810ca1afe49096a7a 571 570 2017-05-22T06:40:54Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki><br /> Функция BeforPrintOptionName_getCategorySelectBoxWithName будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента. f1046933842e7c8c86deb8563ab507bebe321ee6 572 571 2017-05-22T06:41:41Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> Функция BeforPrintOptionName_getCategorySelectBoxWithName будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента. c513f6ac7dff9ced1a86fc27b7f2ad47f440c146 573 572 2017-05-22T06:56:37Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> Функция BeforPrintOptionName_getCategorySelectBoxWithName будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> f0ea3699e418b5a59bcd9cdec1ed0c75e5819adc 575 573 2017-06-06T04:44:54Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> Функция BeforPrintOptionName_getCategorySelectBoxWithName будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> BeforeDuplicate - вызывается перед созданием дубля объявления.<br> Пример использования: если lot_number является уникальным ключом, то при дублировании мы добавляем к нему числовой идентификатор, чтобы сохранить уникальность ключа для новой записи.<br> <pre> <nowiki> /** * Функция может менять значения в массиве перед созданием нового дубля */ function BeforeDuplicate( $form_data ) { foreach ($form_data as $k => $item) { if ($item['name'] == 'lot_number') { $form_data[$k]['value'] .= '-' . time(); } } return $form_data; } </nowiki> </pre> 39ea04d4eb0c12f87b658c33e3320b5ca929afb3 576 575 2017-06-06T04:45:11Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> Функция BeforPrintOptionName_getCategorySelectBoxWithName будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> '''BeforeDuplicate''' - вызывается перед созданием дубля объявления.<br> Пример использования: если lot_number является уникальным ключом, то при дублировании мы добавляем к нему числовой идентификатор, чтобы сохранить уникальность ключа для новой записи.<br> <pre> <nowiki> /** * Функция может менять значения в массиве перед созданием нового дубля */ function BeforeDuplicate( $form_data ) { foreach ($form_data as $k => $item) { if ($item['name'] == 'lot_number') { $form_data[$k]['value'] .= '-' . time(); } } return $form_data; } </nowiki> </pre> 730286d3fa1e96f3a14bbff25824300e4b29d291 585 576 2017-07-18T09:01:28Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> Функция '''BeforPrintOptionName_getCategorySelectBoxWithName''' будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> '''BeforeDuplicate''' - вызывается перед созданием дубля объявления.<br> Пример использования: если lot_number является уникальным ключом, то при дублировании мы добавляем к нему числовой идентификатор, чтобы сохранить уникальность ключа для новой записи.<br> <pre> <nowiki> /** * Функция может менять значения в массиве перед созданием нового дубля */ function BeforeDuplicate( $form_data ) { foreach ($form_data as $k => $item) { if ($item['name'] == 'lot_number') { $form_data[$k]['value'] .= '-' . time(); } } return $form_data; } </nowiki> </pre> b9a19daa0fc2870ea665751aa207668f0b71cca5 586 585 2017-07-18T09:30:56Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> Функция '''BeforPrintOptionName_getCategorySelectBoxWithName''' будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> '''BeforeDuplicate''' - вызывается перед созданием дубля объявления.<br> Пример использования: если lot_number является уникальным ключом, то при дублировании мы добавляем к нему числовой идентификатор, чтобы сохранить уникальность ключа для новой записи.<br> <pre> <nowiki> /** * Функция может менять значения в массиве перед созданием нового дубля */ function BeforeDuplicate( $form_data ) { foreach ($form_data as $k => $item) { if ($item['name'] == 'lot_number') { $form_data[$k]['value'] .= '-' . time(); } } return $form_data; } </nowiki> </pre> '''custom_admin_search_fields''' - Добавляем новый параметр поиска в форму расширенного поиска в админке в объявлениях.<br> <pre> <nowiki> function custom_admin_search_fields ( $smarty ) { return '<tr><td>Мое поле</td><td> <input type="text" name="moe_pole" id="moe_pole" value="'.$_REQUEST['moe_pole'].'" /></td></tr>'; } </nowiki> </pre> Этот параметр затем можно добавлять в поиск с помощью template_search.php https://www.sitebill.ru/s/topic/241-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8F-%D0%B2-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA-template_search-%D0%B8-%D0%B4%D1%80/ 1d5d43114fdcf9b3d883bcdc9da829f54a0840dd Структура разделов 0 17 574 298 2017-05-24T09:11:24Z Kondin 1 wikitext text/x-wiki Все объявления разделены по категориям. Аренда, Продажа, Новостройки и прочее. В каждом разделе есть возможность выбора подразделов.<br /> Дерево этих разделов можно править в панели управления. В пункте меню Структура.<br /> При удалении выполняется проверка – если в данном разделе и его дочерних подразделах существуют объявления, то система выведет сообщение о том, что сначала нужно удалить все объявления оттуда. Также будет ошибка при удалении если попробовать удалить родительский раздел в котором есть дочерние разделы. В этом случае также нужно сначала удалить все дочерние разделы.<br /> При создании нового раздела заполняются следующие поля:<br /> '''Родительский раздел''' – определяет в будет ли новый раздел входить в состав какого-либо существующего раздела. С помощью этого выбора можно создавать цепочки: Коммерческая / Офисы / Аренда.<br /> '''Название раздела''' – это поле для русского названия раздела. Если в вашей системе установлено больше одного языка, то внизу будут дополнительные поля с постфиксами языков, например am, cn, en, ua. Соответственно эти названия будут выводиться, когда пользователь будет переключаться между языками.<br /> '''public_title''' – это название для страницы раздела. '''Meta title''' – это название для строчки браузера и посковиков. В текущей версии все мета-теги только на одном языке. '''Meta keywords''' и '''Meta description''' – также заполняются для поисковых систем.<br /> '''Описание''' – данное описание будет выведено в виде текста под таблицей объявлений в этом разделе. Хорошо помогает при продвижении и поисковой оптимизации. Ну и конечно, не будет лишним для людей и сделает ваш сайт более понятным в использовании.<br /> '''ЧПУ''' – сюда вписывается URL или часть адреса страницы (в случае если включен SEO-режим). Если это полный адрес, то сюда нужно вписать строку вида arenda-kvartir только латинскими буквами. Если это часть адреса, тогда пишем сюда только ту часть, к которой он относится. Например, 1-komn, также латинскими буквами. В сумме этот адрес будет иметь вид arena/1-konm, т.е. система автоматически подберет URL часть из верхнего раздела и добавит часть из текущего.<br/> Начиная с версии system 3.0.29 в настройках доступна '''опция use_topic_publish_status''', если активировать эту опцию, тогда в редакторе элемента структуры появиться галочка '''Раздел активен'''.<br/> По-умолчанию '''Раздел активен''' - всегда выбран. Если убрать эту галочку и сохранить, тогда данный раздел не будет выводится на сайте и в него нельзя будет добавить объявления. d1a1749dd2f5fd34aea77e76d084dab99d1598cd Приложение "Менеджер валют" 0 69 578 512 2017-06-26T08:36:14Z Abushyk 2 wikitext text/x-wiki Менеджер валют == Запуск CRON-задачи обновления данных о курсах == Для автоматического обновления данных о курсах следует установить в CRON задачу запуска следующего адреса: <pre>http://ваш_сайт/apps/currency/cron.php?from=cbrf&pass=XvZ87R</pre> В адресе присутствует два обязательных параметра. Параметр '''from''' указывает источник данных: * cbrf - ЦБРФ * nbrb - НБ РБ * nbu - НБ Украины <br /> Параметр '''pass''' указывает пароль-разрешение на запуск задачи и должен в точности соответствовать указанному в Настройки - Менеджер валют - apps.currency.cron_pass. Если этот пароль в настройках не указан, запуск задачи будет невозможен. == Настройки == '''apps.currency.default_grid_currency_id (ID валюты используемой при расчете цен в списке)'''<br /> Если на сайте присутствует возможность указания цены в разных валютах, то для корректного поиска по ценовым диапазонам необходимо передавать в запросе параметр currency_id, который указывает ID валюты из Менеджера валют в которой указана цена в поиске. Если Вы не хотите или не можете передавать такой параметр, то есть возможность указать статично в какой валюте будет происходить поиск по ценам. Указав в настройке ''apps.currency.default_grid_currency_id'' значение ID нужно валюты, Вы сообщите коду, что все ценовые значения передаются именно в этой валюте. Например на сайте присутствуют валюты USD с ID=1 и EUR c ID=2. При добавлении объектов есть возможность выбирать одну из этих валют при указании цены. На форме поиска есть только поля для ввода минимальной и максимальной цены без возможности выбора валюты поиска. Но Вы хотите, что бы указываемые пользователями в поиске границы цен обозначали цены в EUR. Укажите в настройке ''apps.currency.default_grid_currency_id'' значение 2. В поиске обработка по ценовому диапазону будет происходить в контексте валюты EUR. [[Категория:Приложения]] fa15ccba1c3f2dbaa4894134c677635c576d06d9 579 578 2017-06-26T08:43:34Z Abushyk 2 wikitext text/x-wiki Менеджер валют == Запуск CRON-задачи обновления данных о курсах == Для автоматического обновления данных о курсах следует установить в CRON задачу запуска следующего адреса: <pre>http://ваш_сайт/apps/currency/cron.php?from=cbrf&pass=XvZ87R</pre> В адресе присутствует два обязательных параметра. Параметр '''from''' указывает источник данных: * cbrf - ЦБРФ * nbrb - НБ РБ * nbu - НБ Украины <br /> Параметр '''pass''' указывает пароль-разрешение на запуск задачи и должен в точности соответствовать указанному в Настройки - Менеджер валют - apps.currency.cron_pass. Если этот пароль в настройках не указан, запуск задачи будет невозможен. == Настройки == '''apps.currency.default_grid_currency_id (ID валюты используемой при расчете цен в списке)'''<br /> Если на сайте присутствует возможность указания цены в разных валютах, то для корректного поиска по ценовым диапазонам необходимо передавать в запросе параметр currency_id, который указывает ID валюты из Менеджера валют в которой указана цена в поиске. Если Вы не хотите или не можете передавать такой параметр, то есть возможность указать статично в какой валюте будет происходить поиск по ценам. Указав в настройке ''apps.currency.default_grid_currency_id'' значение ID нужно валюты, Вы сообщите коду, что все ценовые значения передаются именно в этой валюте. Например на сайте присутствуют валюты USD с ID=1 и EUR c ID=2. При добавлении объектов есть возможность выбирать одну из этих валют при указании цены. На форме поиска есть только поля для ввода минимальной и максимальной цены без возможности выбора валюты поиска. Но Вы хотите, что бы указываемые пользователями в поиске границы цен обозначали цены в EUR. Укажите в настройке ''apps.currency.default_grid_currency_id'' значение 2. В поиске обработка по ценовому диапазону будет происходить в контексте валюты EUR. '''apps.currency.cron_pass (Пароль запуска Cron-задач)'''<br /> Укажите в этой настройке пароль для запуска cron-задачи. Этот пароль должен присутствовать в ссылке задачи указанной в Планировщике задач. [[Категория:Приложения]] f2255809ed84db864db0ee1984420a3e7fa55654 580 579 2017-06-26T09:48:58Z Abushyk 2 wikitext text/x-wiki Менеджер валют == Запуск CRON-задачи обновления данных о курсах == Для автоматического обновления данных о курсах следует установить в CRON задачу запуска следующего адреса: <pre>http://ваш_сайт/apps/currency/cron.php?from=cbrf&pass=XvZ87R</pre> В адресе присутствует два обязательных параметра. Параметр '''from''' указывает источник данных: * cbrf - ЦБРФ * nbrb - НБ РБ * nbu - НБ Украины <br /> Параметр '''pass''' указывает пароль-разрешение на запуск задачи и должен в точности соответствовать указанному в Настройки - Менеджер валют - apps.currency.cron_pass. Если этот пароль в настройках не указан, запуск задачи будет невозможен. == Настройки == '''apps.currency.default_grid_currency_id (ID валюты используемой при расчете цен в списке)'''<br /> Если на сайте присутствует возможность указания цены в разных валютах, то для корректного поиска по ценовым диапазонам необходимо передавать в запросе параметр currency_id, который указывает ID валюты из Менеджера валют в которой указана цена в поиске. Если Вы не хотите или не можете передавать такой параметр, то есть возможность указать статично в какой валюте будет происходить поиск по ценам. Указав в настройке ''apps.currency.default_grid_currency_id'' значение ID нужно валюты, Вы сообщите коду, что все ценовые значения передаются именно в этой валюте. Например на сайте присутствуют валюты USD с ID=1 и EUR c ID=2. При добавлении объектов есть возможность выбирать одну из этих валют при указании цены. На форме поиска есть только поля для ввода минимальной и максимальной цены без возможности выбора валюты поиска. Но Вы хотите, что бы указываемые пользователями в поиске границы цен обозначали цены в EUR. Укажите в настройке ''apps.currency.default_grid_currency_id'' значение 2. В поиске обработка по ценовому диапазону будет происходить в контексте валюты EUR. '''apps.currency.cron_pass (Пароль запуска Cron-задач)'''<br /> Укажите в этой настройке пароль для запуска cron-задачи. Этот пароль должен присутствовать в ссылке задачи указанной в Планировщике задач. [[Приложения|Другие приложения]] c04bff3457dd89a58c5adbddb3b988dca28990fc Приложение "Выгрузка Yandex.Realty" 0 31 581 550 2017-06-26T09:52:44Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === === Сопоставления типов здания === === Сопоставления типов ремонта === 4519a6d999f85979e71acd392cb8a9d637daead2 582 581 2017-06-26T09:56:30Z Abushyk 2 /* Данные владельца */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === === Сопоставления типов здания === === Сопоставления типов ремонта === 5f7271e484927460a9d6f30e062bea6903acaa0f 583 582 2017-06-26T10:03:19Z Abushyk 2 /* Сопоставления типов для коммерческой */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> === Сопоставления типов здания === === Сопоставления типов ремонта === c4fe06f9aae6febbe4be96e29703fafbe7adea2c 584 583 2017-06-26T10:06:53Z Abushyk 2 /* Сопоставления типов для коммерческой */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === === Сопоставления типов ремонта === 7e3d7cf170c51f00e6375451c47807c4e3eb1138 Realtylogv2 0 74 589 2017-07-20T06:40:26Z Kondin 1 Новая страница: «== Приложение Realtylogv2 является хранилищем истории редактирования объявлений, а также архи…» wikitext text/x-wiki == Приложение Realtylogv2 является хранилищем истории редактирования объявлений, а также архивом для удаленных объявлений. Другими словами это корзина для удаления, с возможностью восстановления. == === Настройки: === ''apps.realtylogv2.search_key'' - здесь можно указать название ключа переменной из REQUEST, по которому будет выполняться поиск. Например, можно указать srch_phone - и тогда при поиске в админке в форме расширенного поиска мы для поля Телефон, дополнительно будем искать совпадения в архиве realtylogv2.<br> ''apps.realtylogv2.search_columns'' - а тут мы указываем список колонок в самом объявлении для поиска. Т.е. если в форме поиска заполнили srch_phone, нажали искать, то будем искать совпадения для колонок из search_columns. Сюда нужно записывать значения названия колонок через запятую. Например '''phone, owner_phone, text'''<br> ff9cdcc0b711e5f84eb677560b0135fa34585aef 590 589 2017-07-20T06:40:40Z Kondin 1 wikitext text/x-wiki == Приложение Realtylogv2 является хранилищем истории редактирования объявлений, а также архивом для удаленных объявлений. Другими словами это корзина для удаления, с возможностью восстановления. == === Настройки:=== ''apps.realtylogv2.search_key'' - здесь можно указать название ключа переменной из REQUEST, по которому будет выполняться поиск. Например, можно указать srch_phone - и тогда при поиске в админке в форме расширенного поиска мы для поля Телефон, дополнительно будем искать совпадения в архиве realtylogv2.<br> ''apps.realtylogv2.search_columns'' - а тут мы указываем список колонок в самом объявлении для поиска. Т.е. если в форме поиска заполнили srch_phone, нажали искать, то будем искать совпадения для колонок из search_columns. Сюда нужно записывать значения названия колонок через запятую. Например '''phone, owner_phone, text'''<br> 928f016ac1375bb8ebbad1c21780f626d7251ef8 591 590 2017-07-20T06:41:07Z Kondin 1 wikitext text/x-wiki == Приложение Realtylogv2 является хранилищем истории редактирования объявлений, а также архивом для удаленных объявлений == Другими словами это корзина для удаления, с возможностью восстановления. === Настройки:=== ''apps.realtylogv2.search_key'' - здесь можно указать название ключа переменной из REQUEST, по которому будет выполняться поиск. Например, можно указать srch_phone - и тогда при поиске в админке в форме расширенного поиска мы для поля Телефон, дополнительно будем искать совпадения в архиве realtylogv2.<br> ''apps.realtylogv2.search_columns'' - а тут мы указываем список колонок в самом объявлении для поиска. Т.е. если в форме поиска заполнили srch_phone, нажали искать, то будем искать совпадения для колонок из search_columns. Сюда нужно записывать значения названия колонок через запятую. Например '''phone, owner_phone, text'''<br> b20fe3b6d1fd9058722991c211bfc7aa976dfd34 Отзывы 0 75 593 2017-08-01T09:21:34Z Kondin 1 Новая страница: «== Инструкция по установке == # Разархивируйте # Загрузите каталог reviewer в /apps/ # Зайдите в а…» wikitext text/x-wiki == Инструкция по установке == # Разархивируйте # Загрузите каталог reviewer в /apps/ # Зайдите в админку – нажмите настройки (будет произведена первичная настройка) # Затем Приложения – Отзывы # Затем в Редакторе форм нажмите обновить таблицу review # Теперь можно в настройках во вкладке Отзывы клиентов включить приложение # Включить приложение Отзывы(apps.reviewer.enable) поставьте 1 # Алиас приложения(apps.reviewer.alias) по этому адресу будет доступ к отзывам, например, если там review, тогда на сайте будет http://ваш-сайт/review/ # b7e50a5efe667332b51462ceac55d962b47129fd 594 593 2017-08-01T09:21:44Z Kondin 1 wikitext text/x-wiki == Инструкция по установке == # Разархивируйте # Загрузите каталог reviewer в /apps/ # Зайдите в админку – нажмите настройки (будет произведена первичная настройка) # Затем Приложения – Отзывы # Затем в Редакторе форм нажмите обновить таблицу review # Теперь можно в настройках во вкладке Отзывы клиентов включить приложение # Включить приложение Отзывы(apps.reviewer.enable) поставьте 1 # Алиас приложения(apps.reviewer.alias) по этому адресу будет доступ к отзывам, например, если там review, тогда на сайте будет http://ваш-сайт/review/ c671c58b6191ac019475bd2ee12b788422a6929e Шаблон 0 8 596 45 2017-08-11T05:51:57Z Kondin 1 Добавил ссылку на описание Создание своих шаблонов для форм wikitext text/x-wiki Описание типичных файлов шаблона [[Шаблон_agency|Шаблон agency]] [[custom_forms_templates|Создание своих шаблонов для форм]] 6850543f78b55190b7cf789efaf8e8d63b237f6c 597 596 2017-08-11T05:52:13Z Kondin 1 wikitext text/x-wiki Описание типичных файлов шаблона [[Шаблон_agency|Шаблон agency]]<br/> [[custom_forms_templates|Создание своих шаблонов для форм]] 2edcf05542bf7eb374fed183522d37c6764c7443 599 597 2017-08-11T05:59:17Z Kondin 1 wikitext text/x-wiki Описание типичных файлов шаблона [[Шаблон_agency|Шаблон agency]]<br/> [[custom_forms_templates|Создание своих шаблонов для форм]] [[Создание своих шаблонов для форм|Создание своих шаблонов для форм]] 5209acaeadf65f63e70790c47c044f04fc758bb3 600 599 2017-08-11T05:59:28Z Kondin 1 wikitext text/x-wiki Описание типичных файлов шаблона [[Шаблон_agency|Шаблон agency]]<br/> [[custom_forms_templates|Создание своих шаблонов для форм]]<br/> [[Создание своих шаблонов для форм|Создание своих шаблонов для форм]] ba8db4609071c2ddcfbdef9c78d69d0d670fa536 602 600 2017-08-11T06:00:17Z Kondin 1 wikitext text/x-wiki Описание типичных файлов шаблона [[Шаблон_agency|Шаблон agency]]<br/> [[Создание своих шаблонов для форм|Создание своих шаблонов для форм]] 3609b83e87557a064cc26330a9f0f82b727b2b9b Создание своих шаблонов для форм 0 77 601 2017-08-11T05:59:49Z Kondin 1 Новая страница: «Если вам требуется создать свой уникальный шаблон для определенной формы, которую вы со…» wikitext text/x-wiki Если вам требуется создать свой уникальный шаблон для определенной формы, которую вы создали на шаге [[Как создать пользовательскую форму заявки]] при этом вы хотите поменять не только офомление текстов сверху и снизу над формой, но и полностью переопределить расположение блоков и сами блоки элементов форм, тогда вам нужно сделать следующее:<br> 1. Создайте в папке вашего шаблона /template/frontend/ваш_шаблон/ файл с именем '''название_модели_form.tpl'''<br> Например, если вы хотите переделать дизайн формы contactus, то вам нужно создать файл с именем conctactus_form.tpl<br> 2. Скопируйте текст из файла /apps/admin/admin/template1/data_form.tpl в этот ваш новый файл '''название_модели_form.tpl'''<br> 3. Теперь вы можете редактировать свой шаблон '''название_модели_form.tpl''' e4831f13c6554c6f3d5d375bc9e54047e0132c93 Как создать пользовательскую форму заявки 0 35 603 552 2017-08-11T06:01:36Z Kondin 1 wikitext text/x-wiki Необходимо создать пользовательскую форму заявки для того, что бы пользователь мог передать некоторые данные на обработку администратору. '''Ингридиенты:'''<br /> приложение Клиенты (версия 1.0.1)<br /> приложение Статические страницы (версия 1.1.1)<br /> 1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet.<br /><br /> 2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно.<br /><br /> 3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей.<br /><br /> 4. Для формы заявки есть три служебных поля. Это:<br /> fio (Ваше имя) - safe_string поле<br /> email (Email) - safe_string поле<br /> phone (телефон) - safe_string поле<br /> Эти поля нужны для ведения учета заявок, поэтому даже если вы не зададите их сами в своей модели заявки, они будут добавлены автоматически.<br /><br /> 5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок.<br /> Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на расчет}<br /><br /> 6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где<br /> client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент raschet - имя модели вашей формы заявки<br /> Вывод в браузер будет содержать только форму заявки.<br /><br /> 7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделивашейформы, т.е. в данном случае client_order_raschet.tpl<br /> Этот файл должен содержать, в обязательном порядке,<br /> <pre> {$form} </pre> Все остальное на ваше усмотрение. Например: <pre> <h1>Тут мой заголовок к заявке</h1> <p>Тут какой-то текст перед формой</p> {$form} <hr /> <p>Тут какой-то текст под горизонталью под формой</p> </pre> <br /> 8. Добавляем мета-информацию.<br /> Для присоединения к вашей форме некоторой мета-информации используем приложение Статические страницы. Создаем статическую страницу с полем URI client_order_имямоделивашейформы или же client_order_raschet<br /> Для этой страницы указываем ту мета-информацию, которую хотим увидеть вместе с нашей формой заявки и сохраняем. <br> <br> '''Видео-урок по этой теме https://www.youtube.com/watch?v=8kv9LRu_oAw ''' 9. Данная инструкция позволяет менять внешнее оформление формы, но не затрагивает внутренние элементы самой формы. Если вам нужно переделать и саму форму, тогда смотрите данную инструкцию [[Создание своих шаблонов для форм]] 682a05cf701f66883e831dcf5daa4895edc12807 604 603 2017-08-11T06:01:50Z Kondin 1 wikitext text/x-wiki Необходимо создать пользовательскую форму заявки для того, что бы пользователь мог передать некоторые данные на обработку администратору. '''Ингридиенты:'''<br /> приложение Клиенты (версия 1.0.1)<br /> приложение Статические страницы (версия 1.1.1)<br /> 1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet.<br /><br /> 2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно.<br /><br /> 3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей.<br /><br /> 4. Для формы заявки есть три служебных поля. Это:<br /> fio (Ваше имя) - safe_string поле<br /> email (Email) - safe_string поле<br /> phone (телефон) - safe_string поле<br /> Эти поля нужны для ведения учета заявок, поэтому даже если вы не зададите их сами в своей модели заявки, они будут добавлены автоматически.<br /><br /> 5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок.<br /> Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на расчет}<br /><br /> 6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где<br /> client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент raschet - имя модели вашей формы заявки<br /> Вывод в браузер будет содержать только форму заявки.<br /><br /> 7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделивашейформы, т.е. в данном случае client_order_raschet.tpl<br /> Этот файл должен содержать, в обязательном порядке,<br /> <pre> {$form} </pre> Все остальное на ваше усмотрение. Например: <pre> <h1>Тут мой заголовок к заявке</h1> <p>Тут какой-то текст перед формой</p> {$form} <hr /> <p>Тут какой-то текст под горизонталью под формой</p> </pre> <br /> 8. Добавляем мета-информацию.<br /> Для присоединения к вашей форме некоторой мета-информации используем приложение Статические страницы. Создаем статическую страницу с полем URI client_order_имямоделивашейформы или же client_order_raschet<br /> Для этой страницы указываем ту мета-информацию, которую хотим увидеть вместе с нашей формой заявки и сохраняем. <br> <br> '''Видео-урок по этой теме https://www.youtube.com/watch?v=8kv9LRu_oAw ''' <br> 9. Данная инструкция позволяет менять внешнее оформление формы, но не затрагивает внутренние элементы самой формы. Если вам нужно переделать и саму форму, тогда смотрите данную инструкцию [[Создание своих шаблонов для форм]] 79d59d7da52f7d92f4f9af5e8ed4050919a1d4e4 Hooks 0 73 605 586 2017-08-11T10:16:07Z Kondin 1 Добавил описание хука BeforePrintGridItem wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> Функция '''BeforPrintOptionName_getCategorySelectBoxWithName''' будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> '''BeforeDuplicate''' - вызывается перед созданием дубля объявления.<br> Пример использования: если lot_number является уникальным ключом, то при дублировании мы добавляем к нему числовой идентификатор, чтобы сохранить уникальность ключа для новой записи.<br> <pre> <nowiki> /** * Функция может менять значения в массиве перед созданием нового дубля */ function BeforeDuplicate( $form_data ) { foreach ($form_data as $k => $item) { if ($item['name'] == 'lot_number') { $form_data[$k]['value'] .= '-' . time(); } } return $form_data; } </nowiki> </pre> '''custom_admin_search_fields''' - Добавляем новый параметр поиска в форму расширенного поиска в админке в объявлениях.<br> <pre> <nowiki> function custom_admin_search_fields ( $smarty ) { return '<tr><td>Мое поле</td><td> <input type="text" name="moe_pole" id="moe_pole" value="'.$_REQUEST['moe_pole'].'" /></td></tr>'; } </nowiki> </pre> Этот параметр затем можно добавлять в поиск с помощью template_search.php https://www.sitebill.ru/s/topic/241-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8F-%D0%B2-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA-template_search-%D0%B8-%D0%B4%D1%80/ <br> '''BeforePrintGridItem''' - выполняет обработку массива данных строки записи перед выводом в таблицу<br> В данном примере функция принимает массив текущей строки данных $row_data и выполняет проверку идентификатора владельца этого объявления с идентификатором пользователя из сессии, если они различаются, тогда заменяется значение поля телефон (phone) на "скрыт". Т.е. реализуется логика скрытия контактов собственников от всех кроме владельца объявления. <pre> <nowiki> function BeforePrintGridItem ( $row_data, $control_params ) { if ( $row_data['user_id']['value'] != $_SESSION['user_id_value'] ) { $row_data['phone']['value'] = 'скрыт'; } return $row_data; } </nowiki> </pre> 0bedbe880a9688ee5a54f554fe908748fc4d8133 Приложение "Пользовательские сущности" 0 78 606 2017-08-31T20:03:46Z Abushyk 2 Новая страница: «1111» wikitext text/x-wiki 1111 011c945f30ce2cbafc452f39840f025693339c42 608 606 2017-08-31T20:05:50Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для организации и ведения пользовательских справочников. 5880c5926dbddc115988b3a107cc9dbb6e2f8c9f 609 608 2017-08-31T20:13:50Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для организации и ведения пользовательских справочников. Организация приложения Для организации необходимо создать таблицу-модель приложения в Редакторе форм. Модель должна быть полной и, одним из ключей, иметь primary_key поле. Таблица должна быть В Редакторе форм находим необходимую нам таблицу-источник данных. В данном примере это будет eventm_event - таблица, содержащая какие-то объекты типа "событие", которые будут обозначать некоторое событие. Например мы организовываем тренинги для риелторов и, для их удобства, публикуем информацию о прошедших событиях такого рода, равно как и информацию о будущих, с помощью этого приложения. e109b29a212daa66d9b0317d8ad1e347a0735e2a 610 609 2017-08-31T20:18:05Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для организации и ведения пользовательских справочников. Организация приложения Для организации необходимо создать таблицу-модель приложения в Редакторе форм. Модель должна быть полной и, одним из ключей, иметь primary_key поле. Таблица должна быть В Редакторе форм находим необходимую нам таблицу-источник данных. В данном примере это будет eventm_event - таблица, содержащая какие-то объекты типа "событие", которые будут обозначать некоторое событие. Например мы организовываем тренинги для риелторов и, для их удобства, публикуем информацию о прошедших событиях такого рода, равно как и информацию о будущих, с помощью этого приложения. КАРТГИНКА Используя кнопку 1 на картинке, создаем обработчик для этой таблицы (как это и делалось ранее). КАРТГИНКА [[Файл:Https://www.sitebill.ru/s/uploads/monthly 2017 08/599ede918063f CMSSitebill(3).png.49f10e8c1e18b4d7f4c2ab11c3eb70bc.png|мини]] ad33ad6fa9a02fe8d07a54b22c7826b450dda890 611 610 2017-08-31T20:20:35Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для организации и ведения пользовательских справочников. Организация приложения Для организации необходимо создать таблицу-модель приложения в Редакторе форм. Модель должна быть полной и, одним из ключей, иметь primary_key поле. Таблица должна быть В Редакторе форм находим необходимую нам таблицу-источник данных. В данном примере это будет eventm_event - таблица, содержащая какие-то объекты типа "событие", которые будут обозначать некоторое событие. Например мы организовываем тренинги для риелторов и, для их удобства, публикуем информацию о прошедших событиях такого рода, равно как и информацию о будущих, с помощью этого приложения. КАРТГИНКА Используя кнопку 1 на картинке, создаем обработчик для этой таблицы (как это и делалось ранее). КАРТГИНКА [[Файл:Https://www.sitebill.ru/s/uploads/monthly 2017 08/599ede918063f CMSSitebill(3).png.49f10e8c1e18b4d7f4c2ab11c3eb70bc.png|мини]] Название - указываем название для обработчика под которым оно будт показываться в списке пользовательский приложений в админке Публичный - признак, который разрешает приложению показывать себя наружу. Если вы помните, то ранее все пользовательские приложения были доступны только в админке. Установив эту галочку вы можете расшарить его и наружу, в фронт сайта. Алиас - это урл, по которому будет доступно ваше приложение на фронте сайта, если вы отметите галочку Публичное. В данном случае наше приложение будет видимо по адресу мой_сайт/events Шаблон списка - имя файла-шаблона, который будет формировать список выводимых сущностей на фронте Шаблон объекта - имя файла-шаблона, который будет формировать детальный просмотр конкретной сущности на фронте NB. Если не указать имена шаблонов, то на каждой из этих страниц вы получите вместо списка и детального просмотра предупреждение вида Здесь должен быть шаблон для списка объектов модели Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_list} - массив объектов {$entity_pager} - постраничная навигация {$entity_info} - информация о текущей модели и <pre> Здесь должен быть шаблон для объекта модели eventm_event Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_item} - просматриваемый объект {$entity_info} - информация о текущей модели </pre> которые будут подсказывать, что именно не так и почему. Дефолтных и заглушечных шаблонов для этого приложения не существует. Поле сортировки - тут необходимо указать системное имя одного из полей модели сущности, по которому будет проводиться сортировка перед выводом. По умолчанию это поле-первичный ключ. Направление сортировки - одно из значений asc (по возрастанию) или desc (по спаданию). Если не указано явно или указано любое другое значение, кроме этих двух, то сортируется по спаданию значения. Количество на страницу - число объектов на странице списка (по умолчанию - 10). Заполняем поля и сохраняем обработчик. e27aa646d21e3c42346faa237147819e1804af93 612 611 2017-08-31T20:21:46Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для организации и ведения пользовательских справочников. Организация приложения Для организации необходимо создать таблицу-модель приложения в Редакторе форм. Модель должна быть полной и, одним из ключей, иметь primary_key поле. Таблица должна быть В Редакторе форм находим необходимую нам таблицу-источник данных. В данном примере это будет eventm_event - таблица, содержащая какие-то объекты типа "событие", которые будут обозначать некоторое событие. Например мы организовываем тренинги для риелторов и, для их удобства, публикуем информацию о прошедших событиях такого рода, равно как и информацию о будущих, с помощью этого приложения. КАРТГИНКА Используя кнопку 1 на картинке, создаем обработчик для этой таблицы (как это и делалось ранее). КАРТГИНКА [[Файл:Https://www.sitebill.ru/s/uploads/monthly 2017 08/599ede918063f CMSSitebill(3).png.49f10e8c1e18b4d7f4c2ab11c3eb70bc.png|мини]] Название - указываем название для обработчика под которым оно будт показываться в списке пользовательский приложений в админке Публичный - признак, который разрешает приложению показывать себя наружу. Если вы помните, то ранее все пользовательские приложения были доступны только в админке. Установив эту галочку вы можете расшарить его и наружу, в фронт сайта. Алиас - это урл, по которому будет доступно ваше приложение на фронте сайта, если вы отметите галочку Публичное. В данном случае наше приложение будет видимо по адресу мой_сайт/events Шаблон списка - имя файла-шаблона, который будет формировать список выводимых сущностей на фронте Шаблон объекта - имя файла-шаблона, который будет формировать детальный просмотр конкретной сущности на фронте NB. Если не указать имена шаблонов, то на каждой из этих страниц вы получите вместо списка и детального просмотра предупреждение вида <pre> Здесь должен быть шаблон для списка объектов модели Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_list} - массив объектов {$entity_pager} - постраничная навигация {$entity_info} - информация о текущей модели </pre> и <pre> Здесь должен быть шаблон для объекта модели eventm_event Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_item} - просматриваемый объект {$entity_info} - информация о текущей модели </pre> которые будут подсказывать, что именно не так и почему. Дефолтных и заглушечных шаблонов для этого приложения не существует. Поле сортировки - тут необходимо указать системное имя одного из полей модели сущности, по которому будет проводиться сортировка перед выводом. По умолчанию это поле-первичный ключ. Направление сортировки - одно из значений asc (по возрастанию) или desc (по спаданию). Если не указано явно или указано любое другое значение, кроме этих двух, то сортируется по спаданию значения. Количество на страницу - число объектов на странице списка (по умолчанию - 10). Заполняем поля и сохраняем обработчик. 2. Шаблонизация Указанные файлы шаблонов необходимо разместить в папке /template/frontend/ВАШ_ШАБЛОН/apps/customentity/site/template/ Найдя их там, обработчик подключит их, передаст в них данные и выдаст в сайт результат. 2.1 Список Минимальный шаблон для вывода списка событий <pre> <ul> {foreach from=$entity_list item=entity_item} <li><a href="{$entity_item._href}">{$entity_item.name.value}</a></li> {/foreach} </ul> {$entity_pager} </pre> В шаблоне списка присуствуют следующий переменные: $entity_list - массив моделей текущей страницы списка. Перебирая в цикле эту переменную вы получаете элемент массива, который имеет такую же структуру как и объект, который вы выводите в карточке объекта. Т.е. если у вас есть в модели поле owner_name типа safe_string, то вы можете вывести его как {$entity_item.owner_name.value}. А если есть поле gorod вида списка-выпадашки с вариантами из таблицы городов, то {$entity_item.owner_name.value_string} - получаем текстовое значение и {$entity_item.owner_name.value} - получаем числовой индекс (где $entity_item - это каждый элемент массива $entity_list). Модель объекта, передаваемая в шаблон, что в списке, что в детальном просмотре, не учитывает права видимости по группам смотрящего. Иными словами в шаблон приходит полная модель, а логику скрытия чего-то вы можете реализовать внутри шаблона. Вместе с данными модели, каждый элемент массива в списке содержит служебное поле _href в котором записана ссылка на детальный просмотр данного объекта списка (в терминах рассматриваемого примера - на карточку конкретного события). {$entity_item._href} - это ссылка на "страничку" данного объекта, которую можно просто вписывать в аттрибут href тега ссылки. Все ссылки формируются по принципу алиас_сущности/ID_объекта. Так что для нашего примера все ссылки на конкретные события будут иметь вид сайт/events/N , где N = 1,2,3,..... В итоге по приведенному шаблону мы получим вывод вида (для примера я изменил количество объектов на странице на 2 вместо 10): 2b5b0e1c437f997e27d44bb4b02e2825d658e628 613 612 2017-08-31T20:22:51Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для организации и ведения пользовательских справочников. == Организация приложения == === Настройка модели. === Для организации необходимо создать таблицу-модель приложения в Редакторе форм. Модель должна быть полной и, одним из ключей, иметь primary_key поле. В Редакторе форм находим необходимую нам таблицу-источник данных. В данном примере это будет eventm_event - таблица, содержащая какие-то объекты типа "событие", которые будут обозначать некоторое событие. Например мы организовываем тренинги для риелторов и, для их удобства, публикуем информацию о прошедших событиях такого рода, равно как и информацию о будущих, с помощью этого приложения. КАРТГИНКА Используя кнопку 1 на картинке, создаем обработчик для этой таблицы (как это и делалось ранее). КАРТГИНКА [[Файл:Https://www.sitebill.ru/s/uploads/monthly 2017 08/599ede918063f CMSSitebill(3).png.49f10e8c1e18b4d7f4c2ab11c3eb70bc.png|мини]] Название - указываем название для обработчика под которым оно будт показываться в списке пользовательский приложений в админке Публичный - признак, который разрешает приложению показывать себя наружу. Если вы помните, то ранее все пользовательские приложения были доступны только в админке. Установив эту галочку вы можете расшарить его и наружу, в фронт сайта. Алиас - это урл, по которому будет доступно ваше приложение на фронте сайта, если вы отметите галочку Публичное. В данном случае наше приложение будет видимо по адресу мой_сайт/events Шаблон списка - имя файла-шаблона, который будет формировать список выводимых сущностей на фронте Шаблон объекта - имя файла-шаблона, который будет формировать детальный просмотр конкретной сущности на фронте NB. Если не указать имена шаблонов, то на каждой из этих страниц вы получите вместо списка и детального просмотра предупреждение вида <pre> Здесь должен быть шаблон для списка объектов модели Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_list} - массив объектов {$entity_pager} - постраничная навигация {$entity_info} - информация о текущей модели </pre> и <pre> Здесь должен быть шаблон для объекта модели eventm_event Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_item} - просматриваемый объект {$entity_info} - информация о текущей модели </pre> которые будут подсказывать, что именно не так и почему. Дефолтных и заглушечных шаблонов для этого приложения не существует. Поле сортировки - тут необходимо указать системное имя одного из полей модели сущности, по которому будет проводиться сортировка перед выводом. По умолчанию это поле-первичный ключ. Направление сортировки - одно из значений asc (по возрастанию) или desc (по спаданию). Если не указано явно или указано любое другое значение, кроме этих двух, то сортируется по спаданию значения. Количество на страницу - число объектов на странице списка (по умолчанию - 10). Заполняем поля и сохраняем обработчик. === Шаблонизация === Указанные файлы шаблонов необходимо разместить в папке /template/frontend/ВАШ_ШАБЛОН/apps/customentity/site/template/ Найдя их там, обработчик подключит их, передаст в них данные и выдаст в сайт результат. 2.1 Список Минимальный шаблон для вывода списка событий <pre> <ul> {foreach from=$entity_list item=entity_item} <li><a href="{$entity_item._href}">{$entity_item.name.value}</a></li> {/foreach} </ul> {$entity_pager} </pre> В шаблоне списка присуствуют следующий переменные: $entity_list - массив моделей текущей страницы списка. Перебирая в цикле эту переменную вы получаете элемент массива, который имеет такую же структуру как и объект, который вы выводите в карточке объекта. Т.е. если у вас есть в модели поле owner_name типа safe_string, то вы можете вывести его как {$entity_item.owner_name.value}. А если есть поле gorod вида списка-выпадашки с вариантами из таблицы городов, то {$entity_item.owner_name.value_string} - получаем текстовое значение и {$entity_item.owner_name.value} - получаем числовой индекс (где $entity_item - это каждый элемент массива $entity_list). Модель объекта, передаваемая в шаблон, что в списке, что в детальном просмотре, не учитывает права видимости по группам смотрящего. Иными словами в шаблон приходит полная модель, а логику скрытия чего-то вы можете реализовать внутри шаблона. Вместе с данными модели, каждый элемент массива в списке содержит служебное поле _href в котором записана ссылка на детальный просмотр данного объекта списка (в терминах рассматриваемого примера - на карточку конкретного события). {$entity_item._href} - это ссылка на "страничку" данного объекта, которую можно просто вписывать в аттрибут href тега ссылки. Все ссылки формируются по принципу алиас_сущности/ID_объекта. Так что для нашего примера все ссылки на конкретные события будут иметь вид сайт/events/N , где N = 1,2,3,..... В итоге по приведенному шаблону мы получим вывод вида (для примера я изменил количество объектов на странице на 2 вместо 10): 29986ca057de9d1112d9b1fa660f01d7e35f2b15 614 613 2017-08-31T20:27:46Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для организации и ведения пользовательских справочников. == Организация приложения == === Настройка модели. === Для организации необходимо создать таблицу-модель приложения в Редакторе форм. Модель должна быть полной и, одним из ключей, иметь primary_key поле. В Редакторе форм находим необходимую нам таблицу-источник данных. В данном примере это будет eventm_event - таблица, содержащая какие-то объекты типа "событие", которые будут обозначать некоторое событие. Например мы организовываем тренинги для риелторов и, для их удобства, публикуем информацию о прошедших событиях такого рода, равно как и информацию о будущих, с помощью этого приложения. КАРТГИНКА Используя кнопку 1 на картинке, создаем обработчик для этой таблицы (как это и делалось ранее). КАРТГИНКА [[Файл:Https://www.sitebill.ru/s/uploads/monthly 2017 08/599ede918063f CMSSitebill(3).png.49f10e8c1e18b4d7f4c2ab11c3eb70bc.png|мини]] Название - указываем название для обработчика под которым оно будт показываться в списке пользовательский приложений в админке Публичный - признак, который разрешает приложению показывать себя наружу. Если вы помните, то ранее все пользовательские приложения были доступны только в админке. Установив эту галочку вы можете расшарить его и наружу, в фронт сайта. Алиас - это урл, по которому будет доступно ваше приложение на фронте сайта, если вы отметите галочку Публичное. В данном случае наше приложение будет видимо по адресу мой_сайт/events Шаблон списка - имя файла-шаблона, который будет формировать список выводимых сущностей на фронте Шаблон объекта - имя файла-шаблона, который будет формировать детальный просмотр конкретной сущности на фронте NB. Если не указать имена шаблонов, то на каждой из этих страниц вы получите вместо списка и детального просмотра предупреждение вида <pre> Здесь должен быть шаблон для списка объектов модели Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_list} - массив объектов {$entity_pager} - постраничная навигация {$entity_info} - информация о текущей модели </pre> и <pre> Здесь должен быть шаблон для объекта модели eventm_event Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_item} - просматриваемый объект {$entity_info} - информация о текущей модели </pre> которые будут подсказывать, что именно не так и почему. Дефолтных и заглушечных шаблонов для этого приложения не существует. Поле сортировки - тут необходимо указать системное имя одного из полей модели сущности, по которому будет проводиться сортировка перед выводом. По умолчанию это поле-первичный ключ. Направление сортировки - одно из значений asc (по возрастанию) или desc (по спаданию). Если не указано явно или указано любое другое значение, кроме этих двух, то сортируется по спаданию значения. Количество на страницу - число объектов на странице списка (по умолчанию - 10). Заголовок списка - значение, определяющее как будет выглядеть заголовок на странице списка объектов показываемого приложения. Это может быть просто текстовое значение, например <pre>События</pre> или переменная из словарного файла, например <pre>{$LT_EVENTLIST_TITLE}</pre> (в этом случае словарь будет опрошен на наличие в нем переменной LT_EVENTLIST_TITLE и, если она есть, то ее будет подставлено на место метки {$LT_EVENTLIST_TITLE}. Если же такой переменной не окажется, то метка заменится пустой строкой)<br /> Так же в качестве заголовка может использоваться смесь из этих двух способов <pre>События на {$LT_THIS_SITE_TITLE}</pre> Заполняем поля и сохраняем обработчик. === Шаблонизация === Указанные файлы шаблонов необходимо разместить в папке /template/frontend/ВАШ_ШАБЛОН/apps/customentity/site/template/ Найдя их там, обработчик подключит их, передаст в них данные и выдаст в сайт результат. 2.1 Список Минимальный шаблон для вывода списка событий <pre> <ul> {foreach from=$entity_list item=entity_item} <li><a href="{$entity_item._href}">{$entity_item.name.value}</a></li> {/foreach} </ul> {$entity_pager} </pre> В шаблоне списка присуствуют следующий переменные: $entity_list - массив моделей текущей страницы списка. Перебирая в цикле эту переменную вы получаете элемент массива, который имеет такую же структуру как и объект, который вы выводите в карточке объекта. Т.е. если у вас есть в модели поле owner_name типа safe_string, то вы можете вывести его как {$entity_item.owner_name.value}. А если есть поле gorod вида списка-выпадашки с вариантами из таблицы городов, то {$entity_item.owner_name.value_string} - получаем текстовое значение и {$entity_item.owner_name.value} - получаем числовой индекс (где $entity_item - это каждый элемент массива $entity_list). Модель объекта, передаваемая в шаблон, что в списке, что в детальном просмотре, не учитывает права видимости по группам смотрящего. Иными словами в шаблон приходит полная модель, а логику скрытия чего-то вы можете реализовать внутри шаблона. Вместе с данными модели, каждый элемент массива в списке содержит служебное поле _href в котором записана ссылка на детальный просмотр данного объекта списка (в терминах рассматриваемого примера - на карточку конкретного события). {$entity_item._href} - это ссылка на "страничку" данного объекта, которую можно просто вписывать в аттрибут href тега ссылки. Все ссылки формируются по принципу алиас_сущности/ID_объекта. Так что для нашего примера все ссылки на конкретные события будут иметь вид сайт/events/N , где N = 1,2,3,..... В итоге по приведенному шаблону мы получим вывод вида (для примера я изменил количество объектов на странице на 2 вместо 10): d4856b8d89ff5be7f1cae34ffae91c707af9f784 615 614 2017-08-31T20:56:01Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для организации и ведения пользовательских справочников. == Организация приложения == === Настройка модели. === Для организации необходимо создать таблицу-модель приложения в Редакторе форм. Модель должна быть полной и, одним из ключей, иметь primary_key поле. В Редакторе форм находим необходимую нам таблицу-источник данных. В данном примере это будет eventm_event - таблица, содержащая какие-то объекты типа "событие", которые будут обозначать некоторое событие. Например мы организовываем тренинги для риелторов и, для их удобства, публикуем информацию о прошедших событиях такого рода, равно как и информацию о будущих, с помощью этого приложения. КАРТГИНКА Используя кнопку 1 на картинке, создаем обработчик для этой таблицы (как это и делалось ранее). КАРТГИНКА [[Файл:Https://www.sitebill.ru/s/uploads/monthly 2017 08/599ede918063f CMSSitebill(3).png.49f10e8c1e18b4d7f4c2ab11c3eb70bc.png|мини]] Название - указываем название для обработчика под которым оно будт показываться в списке пользовательский приложений в админке Публичный - признак, который разрешает приложению показывать себя наружу. Если вы помните, то ранее все пользовательские приложения были доступны только в админке. Установив эту галочку вы можете расшарить его и наружу, в фронт сайта. Алиас - это урл, по которому будет доступно ваше приложение на фронте сайта, если вы отметите галочку Публичное. В данном случае наше приложение будет видимо по адресу мой_сайт/events Шаблон списка - имя файла-шаблона, который будет формировать список выводимых сущностей на фронте Шаблон объекта - имя файла-шаблона, который будет формировать детальный просмотр конкретной сущности на фронте NB. Если не указать имена шаблонов, то на каждой из этих страниц вы получите вместо списка и детального просмотра предупреждение вида <pre> Здесь должен быть шаблон для списка объектов модели Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_list} - массив объектов {$entity_pager} - постраничная навигация {$entity_info} - информация о текущей модели </pre> и <pre> Здесь должен быть шаблон для объекта модели eventm_event Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_item} - просматриваемый объект {$entity_info} - информация о текущей модели </pre> которые будут подсказывать, что именно не так и почему. Дефолтных и заглушечных шаблонов для этого приложения не существует. Поле сортировки - тут необходимо указать системное имя одного из полей модели сущности, по которому будет проводиться сортировка перед выводом. По умолчанию это поле-первичный ключ. Направление сортировки - одно из значений asc (по возрастанию) или desc (по спаданию). Если не указано явно или указано любое другое значение, кроме этих двух, то сортируется по спаданию значения. Количество на страницу - число объектов на странице списка (по умолчанию - 10). Заголовок списка - значение, определяющее как будет выглядеть заголовок на странице списка объектов показываемого приложения. Это может быть просто текстовое значение, например <pre>События</pre> или переменная из словарного файла, например <pre>{$LT_EVENTLIST_TITLE}</pre> (в этом случае словарь будет опрошен на наличие в нем переменной LT_EVENTLIST_TITLE и, если она есть, то ее будет подставлено на место метки {$LT_EVENTLIST_TITLE}. Если же такой переменной не окажется, то метка заменится пустой строкой)<br /> Так же в качестве заголовка может использоваться смесь из этих двух способов <pre>События на {$LT_THIS_SITE_TITLE}</pre> Заголовок страницы объекта - определяет формат заголовка на странице конкретны объектов приложения. Аналогично предыдущей настройке, может иметь вид текстового значения, словарной переменной, или содержать в себе данные из полей объекта. Данные из объекта указываются в виде <pre>{системное_имя_поля}</pre> Например у нас в модели есть поле spec_title в котором мы пишем красивый заголовок. Тогда в настройке мы можем указать {spec_title}. А если мы хотим что бы заголовок выглядел как "Событие N", где N - идентификатор события в базе, то мы укажем <pre>Событие {event_id}</pre> или <pre>{$LT_EVENT} {event_id}</pre> Если оставить эту настройку пустой, то приложение попытается само найти в модели объекта поле с именем name и создать заголовок из него. Заполняем поля и сохраняем обработчик. === Шаблонизация === Указанные файлы шаблонов необходимо разместить в папке /template/frontend/ВАШ_ШАБЛОН/apps/customentity/site/template/ Найдя их там, обработчик подключит их, передаст в них данные и выдаст в сайт результат. 2.1 Список Минимальный шаблон для вывода списка событий <pre> <ul> {foreach from=$entity_list item=entity_item} <li><a href="{$entity_item._href}">{$entity_item.name.value}</a></li> {/foreach} </ul> {$entity_pager} </pre> В шаблоне списка присуствуют следующий переменные: $entity_list - массив моделей текущей страницы списка. Перебирая в цикле эту переменную вы получаете элемент массива, который имеет такую же структуру как и объект, который вы выводите в карточке объекта. Т.е. если у вас есть в модели поле owner_name типа safe_string, то вы можете вывести его как {$entity_item.owner_name.value}. А если есть поле gorod вида списка-выпадашки с вариантами из таблицы городов, то {$entity_item.owner_name.value_string} - получаем текстовое значение и {$entity_item.owner_name.value} - получаем числовой индекс (где $entity_item - это каждый элемент массива $entity_list). Модель объекта, передаваемая в шаблон, что в списке, что в детальном просмотре, не учитывает права видимости по группам смотрящего. Иными словами в шаблон приходит полная модель, а логику скрытия чего-то вы можете реализовать внутри шаблона. Вместе с данными модели, каждый элемент массива в списке содержит служебное поле _href в котором записана ссылка на детальный просмотр данного объекта списка (в терминах рассматриваемого примера - на карточку конкретного события). {$entity_item._href} - это ссылка на "страничку" данного объекта, которую можно просто вписывать в аттрибут href тега ссылки. Все ссылки формируются по принципу алиас_сущности/ID_объекта. Так что для нашего примера все ссылки на конкретные события будут иметь вид сайт/events/N , где N = 1,2,3,..... В итоге по приведенному шаблону мы получим вывод вида (для примера я изменил количество объектов на странице на 2 вместо 10): e95599a1644631c65cad677691ae4a98049c8b5f 616 615 2017-08-31T21:13:35Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для организации и ведения пользовательских справочников. == Организация приложения == === Настройка модели. === Для организации необходимо создать таблицу-модель приложения в Редакторе форм. Модель должна быть полной и, одним из ключей, иметь primary_key поле. В Редакторе форм находим необходимую нам таблицу-источник данных. В данном примере это будет eventm_event - таблица, содержащая какие-то объекты типа "событие", которые будут обозначать некоторое событие. Например мы организовываем тренинги для риелторов и, для их удобства, публикуем информацию о прошедших событиях такого рода, равно как и информацию о будущих, с помощью этого приложения. КАРТГИНКА Используя кнопку 1 на картинке, создаем обработчик для этой таблицы (как это и делалось ранее). КАРТГИНКА '''Название''' - указываем название для обработчика под которым оно будет показываться в списке пользовательский приложений в админке '''Публичный''' - признак, который разрешает приложению показывать себя наружу. Если вы помните, то ранее все пользовательские приложения были доступны только в админке. Установив эту галочку вы можете расшарить его и наружу, в фронт сайта. '''Алиас''' - это урл, по которому будет доступно ваше приложение на фронте сайта, если вы отметите галочку Публичное. В данном случае наше приложение будет видимо по адресу мой_сайт/events '''Шаблон списка''' - имя файла-шаблона, который будет формировать список выводимых сущностей на фронте '''Шаблон объекта''' - имя файла-шаблона, который будет формировать детальный просмотр конкретной сущности на фронте NB. Если не указать имена шаблонов, то на каждой из этих страниц вы получите вместо списка и детального просмотра предупреждение вида <pre> Здесь должен быть шаблон для списка объектов модели Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_list} - массив объектов {$entity_pager} - постраничная навигация {$entity_info} - информация о текущей модели </pre> и <pre> Здесь должен быть шаблон для объекта модели eventm_event Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_item} - просматриваемый объект {$entity_info} - информация о текущей модели </pre> которые будут подсказывать, что именно не так и почему. Дефолтных и заглушечных шаблонов для этого приложения не существует. '''Поле сортировки''' - тут необходимо указать системное имя одного из полей модели сущности, по которому будет проводиться сортировка перед выводом. По умолчанию это поле-первичный ключ. '''Направление сортировки''' - одно из значений asc (по возрастанию) или desc (по спаданию). Если не указано явно или указано любое другое значение, кроме этих двух, то сортируется по спаданию значения. '''Количество на страницу''' - число объектов на странице списка (по умолчанию - 10). '''Заголовок списка''' - значение, определяющее как будет выглядеть заголовок на странице списка объектов показываемого приложения. Это может быть просто текстовое значение, например <pre>События</pre> или переменная из словарного файла, например <pre>{$LT_EVENTLIST_TITLE}</pre> (в этом случае словарь будет опрошен на наличие в нем переменной LT_EVENTLIST_TITLE и, если она есть, то ее будет подставлено на место метки {$LT_EVENTLIST_TITLE}. Если же такой переменной не окажется, то метка заменится пустой строкой)<br /> Так же в качестве заголовка может использоваться смесь из этих двух способов <pre>События на {$LT_THIS_SITE_TITLE}</pre> '''Заголовок страницы объекта''' - определяет формат заголовка на странице конкретны объектов приложения. Аналогично предыдущей настройке, может иметь вид текстового значения, словарной переменной, или содержать в себе данные из полей объекта. Данные из объекта указываются в виде <pre>{системное_имя_поля}</pre> Например у нас в модели есть поле spec_title в котором мы пишем красивый заголовок. Тогда в настройке мы можем указать {spec_title}. А если мы хотим что бы заголовок выглядел как "Событие N", где N - идентификатор события в базе, то мы укажем <pre>Событие {event_id}</pre> или <pre>{$LT_EVENT} {event_id}</pre> Если оставить эту настройку пустой, то приложение попытается само найти в модели объекта поле с именем name и создать заголовок из него. Заполняем поля и сохраняем обработчик. === Шаблонизация === Указанные файлы шаблонов необходимо разместить в папке /template/frontend/ВАШ_ШАБЛОН/apps/customentity/site/template/ Найдя их там, обработчик подключит их, передаст в них данные и выдаст в сайт результат. 2.1 Список Минимальный шаблон для вывода списка событий <pre> <ul> {foreach from=$entity_list item=entity_item} <li><a href="{$entity_item._href}">{$entity_item.name.value}</a></li> {/foreach} </ul> {$entity_pager} </pre> В шаблоне списка присуствуют следующий переменные: $entity_list - массив моделей текущей страницы списка. Перебирая в цикле эту переменную вы получаете элемент массива, который имеет такую же структуру как и объект, который вы выводите в карточке объекта. Т.е. если у вас есть в модели поле owner_name типа safe_string, то вы можете вывести его как {$entity_item.owner_name.value}. А если есть поле gorod вида списка-выпадашки с вариантами из таблицы городов, то {$entity_item.owner_name.value_string} - получаем текстовое значение и {$entity_item.owner_name.value} - получаем числовой индекс (где $entity_item - это каждый элемент массива $entity_list). Модель объекта, передаваемая в шаблон, что в списке, что в детальном просмотре, не учитывает права видимости по группам смотрящего. Иными словами в шаблон приходит полная модель, а логику скрытия чего-то вы можете реализовать внутри шаблона. Вместе с данными модели, каждый элемент массива в списке содержит служебное поле _href в котором записана ссылка на детальный просмотр данного объекта списка (в терминах рассматриваемого примера - на карточку конкретного события). {$entity_item._href} - это ссылка на "страничку" данного объекта, которую можно просто вписывать в аттрибут href тега ссылки. Все ссылки формируются по принципу алиас_сущности/ID_объекта. Так что для нашего примера все ссылки на конкретные события будут иметь вид сайт/events/N , где N = 1,2,3,..... В итоге по приведенному шаблону мы получим вывод вида (для примера я изменил количество объектов на странице на 2 вместо 10): ede6b47b2c4ec5316fb3e015fe7733d5c5d0b405 617 616 2017-08-31T21:14:23Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для организации и ведения пользовательских справочников. == Организация приложения == === Настройка модели. === Для организации необходимо создать таблицу-модель приложения в Редакторе форм. Модель должна быть полной и, одним из ключей, иметь primary_key поле. В Редакторе форм находим необходимую нам таблицу-источник данных. В данном примере это будет eventm_event - таблица, содержащая какие-то объекты типа "событие", которые будут обозначать некоторое событие. Например мы организовываем тренинги для риелторов и, для их удобства, публикуем информацию о прошедших событиях такого рода, равно как и информацию о будущих, с помощью этого приложения. КАРТГИНКА Используя кнопку 1 на картинке, создаем обработчик для этой таблицы (как это и делалось ранее). КАРТГИНКА '''Название''' - указываем название для обработчика под которым оно будет показываться в списке пользовательский приложений в админке '''Публичный''' - признак, который разрешает приложению показывать себя наружу. Если вы помните, то ранее все пользовательские приложения были доступны только в админке. Установив эту галочку вы можете расшарить его и наружу, в фронт сайта. '''Алиас''' - это урл, по которому будет доступно ваше приложение на фронте сайта, если вы отметите галочку Публичное. В данном случае наше приложение будет видимо по адресу мой_сайт/events '''Шаблон списка''' - имя файла-шаблона, который будет формировать список выводимых сущностей на фронте '''Шаблон объекта''' - имя файла-шаблона, который будет формировать детальный просмотр конкретной сущности на фронте NB. Если не указать имена шаблонов, то на каждой из этих страниц вы получите вместо списка и детального просмотра предупреждение вида <pre> Здесь должен быть шаблон для списка объектов модели Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_list} - массив объектов {$entity_pager} - постраничная навигация {$entity_info} - информация о текущей модели </pre> и <pre> Здесь должен быть шаблон для объекта модели eventm_event Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_item} - просматриваемый объект {$entity_info} - информация о текущей модели </pre> которые будут подсказывать, что именно не так и почему. Дефолтных и заглушечных шаблонов для этого приложения не существует. '''Поле сортировки''' - тут необходимо указать системное имя одного из полей модели сущности, по которому будет проводиться сортировка перед выводом. По умолчанию это поле-первичный ключ. '''Направление сортировки''' - одно из значений asc (по возрастанию) или desc (по спаданию). Если не указано явно или указано любое другое значение, кроме этих двух, то сортируется по спаданию значения. '''Количество на страницу''' - число объектов на странице списка (по умолчанию - 10). '''Заголовок списка''' - значение, определяющее как будет выглядеть заголовок на странице списка объектов показываемого приложения. Это может быть просто текстовое значение, например <pre>События</pre> или переменная из словарного файла, например <pre>{$LT_EVENTLIST_TITLE}</pre> (в этом случае словарь будет опрошен на наличие в нем переменной LT_EVENTLIST_TITLE и, если она есть, то ее будет подставлено на место метки {$LT_EVENTLIST_TITLE}. Если же такой переменной не окажется, то метка заменится пустой строкой)<br /> Так же в качестве заголовка может использоваться смесь из этих двух способов <pre>События на {$LT_THIS_SITE_TITLE}</pre> '''Заголовок страницы объекта''' - определяет формат заголовка на странице конкретны объектов приложения. Аналогично предыдущей настройке, может иметь вид текстового значения, словарной переменной, или содержать в себе данные из полей объекта. Данные из объекта указываются в виде <pre>{системное_имя_поля}</pre> Например у нас в модели есть поле spec_title в котором мы пишем красивый заголовок. Тогда в настройке мы можем указать {spec_title}. А если мы хотим что бы заголовок выглядел как "Событие N", где N - идентификатор события в базе, то мы укажем <pre>Событие {event_id}</pre> или <pre>{$LT_EVENT} {event_id}</pre> Если оставить эту настройку пустой, то приложение попытается само найти в модели объекта поле с именем name и создать заголовок из него. Заполняем поля и сохраняем обработчик. === Шаблонизация === Указанные файлы шаблонов необходимо разместить в папке /template/frontend/ВАШ_ШАБЛОН/apps/customentity/site/template/ Найдя их там, обработчик подключит их, передаст в них данные и выдаст в сайт результат. 2.1 Список Минимальный шаблон для вывода списка событий <pre> <ul> {foreach from=$entity_list item=entity_item} <li><a href="{$entity_item._href}">{$entity_item.name.value}</a></li> {/foreach} </ul> {$entity_pager} </pre> В шаблоне списка присуствуют следующий переменные: $entity_list - массив моделей текущей страницы списка. Перебирая в цикле эту переменную вы получаете элемент массива, который имеет такую же структуру как и объект, который вы выводите в карточке объекта. Т.е. если у вас есть в модели поле owner_name типа safe_string, то вы можете вывести его как {$entity_item.owner_name.value}. А если есть поле gorod вида списка-выпадашки с вариантами из таблицы городов, то {$entity_item.owner_name.value_string} - получаем текстовое значение и {$entity_item.owner_name.value} - получаем числовой индекс (где $entity_item - это каждый элемент массива $entity_list). Модель объекта, передаваемая в шаблон, что в списке, что в детальном просмотре, не учитывает права видимости по группам смотрящего. Иными словами в шаблон приходит полная модель, а логику скрытия чего-то вы можете реализовать внутри шаблона. Вместе с данными модели, каждый элемент массива в списке содержит служебное поле _href в котором записана ссылка на детальный просмотр данного объекта списка (в терминах рассматриваемого примера - на карточку конкретного события). {$entity_item._href} - это ссылка на "страничку" данного объекта, которую можно просто вписывать в аттрибут href тега ссылки. Все ссылки формируются по принципу алиас_сущности/ID_объекта. Так что для нашего примера все ссылки на конкретные события будут иметь вид сайт/events/N , где N = 1,2,3,..... В итоге по приведенному шаблону мы получим вывод вида (для примера я изменил количество объектов на странице на 2 вместо 10): 2.2 Карточка Принцип абсолютно тот же, что и для списка, только в этом случае в шаблон приходят две переменные: {$entity_item} - полная модель просматриваемого объекта {$entity_info} - информация о текущей модели Т.е. если у вас есть в модели поле owner_name типа safe_string, то вы можете вывести его как {$entity_item.owner_name.value}. А если есть поле gorod вида списка-выпадашки с вариантами из таблицы городов, то {$entity_item.owner_name.value_string} - получаем текстовое значение и {$entity_item.owner_name.value} - получаем числовой индекс. b37c60685335f07418911b3c8999ec81fa29811a 619 617 2017-09-01T11:17:41Z Abushyk 2 wikitext text/x-wiki Приложение предназначено для организации и ведения пользовательских справочников. == Организация приложения == === Настройка модели. === Для организации необходимо создать таблицу-модель приложения в Редакторе форм. Модель должна быть полной и, одним из ключей, иметь primary_key поле. В Редакторе форм находим необходимую нам таблицу-источник данных. В данном примере это будет eventm_event - таблица, содержащая какие-то объекты типа "событие", которые будут обозначать некоторое событие. Например мы организовываем тренинги для риелторов и, для их удобства, публикуем информацию о прошедших событиях такого рода, равно как и информацию о будущих, с помощью этого приложения. [[Файл:599ede918063f CMSSitebill(3).png.49f10e8c1e18b4d7f4c2ab11c3eb70bc.png|мини]] Используя кнопку 1 на картинке, создаем обработчик для этой таблицы (как это и делалось ранее). КАРТГИНКА '''Название''' - указываем название для обработчика под которым оно будет показываться в списке пользовательский приложений в админке '''Публичный''' - признак, который разрешает приложению показывать себя наружу. Если вы помните, то ранее все пользовательские приложения были доступны только в админке. Установив эту галочку вы можете расшарить его и наружу, в фронт сайта. '''Алиас''' - это урл, по которому будет доступно ваше приложение на фронте сайта, если вы отметите галочку Публичное. В данном случае наше приложение будет видимо по адресу мой_сайт/events '''Шаблон списка''' - имя файла-шаблона, который будет формировать список выводимых сущностей на фронте '''Шаблон объекта''' - имя файла-шаблона, который будет формировать детальный просмотр конкретной сущности на фронте NB. Если не указать имена шаблонов, то на каждой из этих страниц вы получите вместо списка и детального просмотра предупреждение вида <pre> Здесь должен быть шаблон для списка объектов модели Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_list} - массив объектов {$entity_pager} - постраничная навигация {$entity_info} - информация о текущей модели </pre> и <pre> Здесь должен быть шаблон для объекта модели eventm_event Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_item} - просматриваемый объект {$entity_info} - информация о текущей модели </pre> которые будут подсказывать, что именно не так и почему. Дефолтных и заглушечных шаблонов для этого приложения не существует. '''Поле сортировки''' - тут необходимо указать системное имя одного из полей модели сущности, по которому будет проводиться сортировка перед выводом. По умолчанию это поле-первичный ключ. '''Направление сортировки''' - одно из значений asc (по возрастанию) или desc (по спаданию). Если не указано явно или указано любое другое значение, кроме этих двух, то сортируется по спаданию значения. '''Количество на страницу''' - число объектов на странице списка (по умолчанию - 10). '''Заголовок списка''' - значение, определяющее как будет выглядеть заголовок на странице списка объектов показываемого приложения. Это может быть просто текстовое значение, например <pre>События</pre> или переменная из словарного файла, например <pre>{$LT_EVENTLIST_TITLE}</pre> (в этом случае словарь будет опрошен на наличие в нем переменной LT_EVENTLIST_TITLE и, если она есть, то ее будет подставлено на место метки {$LT_EVENTLIST_TITLE}. Если же такой переменной не окажется, то метка заменится пустой строкой)<br /> Так же в качестве заголовка может использоваться смесь из этих двух способов <pre>События на {$LT_THIS_SITE_TITLE}</pre> '''Заголовок страницы объекта''' - определяет формат заголовка на странице конкретны объектов приложения. Аналогично предыдущей настройке, может иметь вид текстового значения, словарной переменной, или содержать в себе данные из полей объекта. Данные из объекта указываются в виде <pre>{системное_имя_поля}</pre> Например у нас в модели есть поле spec_title в котором мы пишем красивый заголовок. Тогда в настройке мы можем указать {spec_title}. А если мы хотим что бы заголовок выглядел как "Событие N", где N - идентификатор события в базе, то мы укажем <pre>Событие {event_id}</pre> или <pre>{$LT_EVENT} {event_id}</pre> Если оставить эту настройку пустой, то приложение попытается само найти в модели объекта поле с именем name и создать заголовок из него. Заполняем поля и сохраняем обработчик. === Шаблонизация === Указанные файлы шаблонов необходимо разместить в папке /template/frontend/ВАШ_ШАБЛОН/apps/customentity/site/template/ Найдя их там, обработчик подключит их, передаст в них данные и выдаст в сайт результат. 2.1 Список Минимальный шаблон для вывода списка событий <pre> <ul> {foreach from=$entity_list item=entity_item} <li><a href="{$entity_item._href}">{$entity_item.name.value}</a></li> {/foreach} </ul> {$entity_pager} </pre> В шаблоне списка присуствуют следующий переменные: $entity_list - массив моделей текущей страницы списка. Перебирая в цикле эту переменную вы получаете элемент массива, который имеет такую же структуру как и объект, который вы выводите в карточке объекта. Т.е. если у вас есть в модели поле owner_name типа safe_string, то вы можете вывести его как {$entity_item.owner_name.value}. А если есть поле gorod вида списка-выпадашки с вариантами из таблицы городов, то {$entity_item.owner_name.value_string} - получаем текстовое значение и {$entity_item.owner_name.value} - получаем числовой индекс (где $entity_item - это каждый элемент массива $entity_list). Модель объекта, передаваемая в шаблон, что в списке, что в детальном просмотре, не учитывает права видимости по группам смотрящего. Иными словами в шаблон приходит полная модель, а логику скрытия чего-то вы можете реализовать внутри шаблона. Вместе с данными модели, каждый элемент массива в списке содержит служебное поле _href в котором записана ссылка на детальный просмотр данного объекта списка (в терминах рассматриваемого примера - на карточку конкретного события). {$entity_item._href} - это ссылка на "страничку" данного объекта, которую можно просто вписывать в аттрибут href тега ссылки. Все ссылки формируются по принципу алиас_сущности/ID_объекта. Так что для нашего примера все ссылки на конкретные события будут иметь вид сайт/events/N , где N = 1,2,3,..... В итоге по приведенному шаблону мы получим вывод вида (для примера я изменил количество объектов на странице на 2 вместо 10): 2.2 Карточка Принцип абсолютно тот же, что и для списка, только в этом случае в шаблон приходят две переменные: {$entity_item} - полная модель просматриваемого объекта {$entity_info} - информация о текущей модели Т.е. если у вас есть в модели поле owner_name типа safe_string, то вы можете вывести его как {$entity_item.owner_name.value}. А если есть поле gorod вида списка-выпадашки с вариантами из таблицы городов, то {$entity_item.owner_name.value_string} - получаем текстовое значение и {$entity_item.owner_name.value} - получаем числовой индекс. be21c5ca56c0be70b6f5996aac24d395a83671dd 620 619 2017-09-01T11:19:09Z Abushyk 2 /* Настройка модели. */ wikitext text/x-wiki Приложение предназначено для организации и ведения пользовательских справочников. == Организация приложения == === Настройка модели. === Для организации необходимо создать таблицу-модель приложения в Редакторе форм. Модель должна быть полной и, одним из ключей, иметь primary_key поле. В Редакторе форм находим необходимую нам таблицу-источник данных. В данном примере это будет eventm_event - таблица, содержащая какие-то объекты типа "событие", которые будут обозначать некоторое событие. Например мы организовываем тренинги для риелторов и, для их удобства, публикуем информацию о прошедших событиях такого рода, равно как и информацию о будущих, с помощью этого приложения. [[Файл:599ede918063f CMSSitebill(3).png.49f10e8c1e18b4d7f4c2ab11c3eb70bc.png|border]] Используя кнопку 1 на картинке, создаем обработчик для этой таблицы (как это и делалось ранее). КАРТГИНКА '''Название''' - указываем название для обработчика под которым оно будет показываться в списке пользовательский приложений в админке '''Публичный''' - признак, который разрешает приложению показывать себя наружу. Если вы помните, то ранее все пользовательские приложения были доступны только в админке. Установив эту галочку вы можете расшарить его и наружу, в фронт сайта. '''Алиас''' - это урл, по которому будет доступно ваше приложение на фронте сайта, если вы отметите галочку Публичное. В данном случае наше приложение будет видимо по адресу мой_сайт/events '''Шаблон списка''' - имя файла-шаблона, который будет формировать список выводимых сущностей на фронте '''Шаблон объекта''' - имя файла-шаблона, который будет формировать детальный просмотр конкретной сущности на фронте NB. Если не указать имена шаблонов, то на каждой из этих страниц вы получите вместо списка и детального просмотра предупреждение вида <pre> Здесь должен быть шаблон для списка объектов модели Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_list} - массив объектов {$entity_pager} - постраничная навигация {$entity_info} - информация о текущей модели </pre> и <pre> Здесь должен быть шаблон для объекта модели eventm_event Разместите шаблон для этого вывода в папке /template/frontend/ВАША_ТЕМА/apps/customentiry/site/template/ИМЯ_ШАБЛОНА.tpl и укажите имя шаблона (ИМЯ_ШАБЛОНА.tpl) в настройках обработчика. Доступные в этом шаблоне переменные: {$entity_item} - просматриваемый объект {$entity_info} - информация о текущей модели </pre> которые будут подсказывать, что именно не так и почему. Дефолтных и заглушечных шаблонов для этого приложения не существует. '''Поле сортировки''' - тут необходимо указать системное имя одного из полей модели сущности, по которому будет проводиться сортировка перед выводом. По умолчанию это поле-первичный ключ. '''Направление сортировки''' - одно из значений asc (по возрастанию) или desc (по спаданию). Если не указано явно или указано любое другое значение, кроме этих двух, то сортируется по спаданию значения. '''Количество на страницу''' - число объектов на странице списка (по умолчанию - 10). '''Заголовок списка''' - значение, определяющее как будет выглядеть заголовок на странице списка объектов показываемого приложения. Это может быть просто текстовое значение, например <pre>События</pre> или переменная из словарного файла, например <pre>{$LT_EVENTLIST_TITLE}</pre> (в этом случае словарь будет опрошен на наличие в нем переменной LT_EVENTLIST_TITLE и, если она есть, то ее будет подставлено на место метки {$LT_EVENTLIST_TITLE}. Если же такой переменной не окажется, то метка заменится пустой строкой)<br /> Так же в качестве заголовка может использоваться смесь из этих двух способов <pre>События на {$LT_THIS_SITE_TITLE}</pre> '''Заголовок страницы объекта''' - определяет формат заголовка на странице конкретны объектов приложения. Аналогично предыдущей настройке, может иметь вид текстового значения, словарной переменной, или содержать в себе данные из полей объекта. Данные из объекта указываются в виде <pre>{системное_имя_поля}</pre> Например у нас в модели есть поле spec_title в котором мы пишем красивый заголовок. Тогда в настройке мы можем указать {spec_title}. А если мы хотим что бы заголовок выглядел как "Событие N", где N - идентификатор события в базе, то мы укажем <pre>Событие {event_id}</pre> или <pre>{$LT_EVENT} {event_id}</pre> Если оставить эту настройку пустой, то приложение попытается само найти в модели объекта поле с именем name и создать заголовок из него. Заполняем поля и сохраняем обработчик. === Шаблонизация === Указанные файлы шаблонов необходимо разместить в папке /template/frontend/ВАШ_ШАБЛОН/apps/customentity/site/template/ Найдя их там, обработчик подключит их, передаст в них данные и выдаст в сайт результат. 2.1 Список Минимальный шаблон для вывода списка событий <pre> <ul> {foreach from=$entity_list item=entity_item} <li><a href="{$entity_item._href}">{$entity_item.name.value}</a></li> {/foreach} </ul> {$entity_pager} </pre> В шаблоне списка присуствуют следующий переменные: $entity_list - массив моделей текущей страницы списка. Перебирая в цикле эту переменную вы получаете элемент массива, который имеет такую же структуру как и объект, который вы выводите в карточке объекта. Т.е. если у вас есть в модели поле owner_name типа safe_string, то вы можете вывести его как {$entity_item.owner_name.value}. А если есть поле gorod вида списка-выпадашки с вариантами из таблицы городов, то {$entity_item.owner_name.value_string} - получаем текстовое значение и {$entity_item.owner_name.value} - получаем числовой индекс (где $entity_item - это каждый элемент массива $entity_list). Модель объекта, передаваемая в шаблон, что в списке, что в детальном просмотре, не учитывает права видимости по группам смотрящего. Иными словами в шаблон приходит полная модель, а логику скрытия чего-то вы можете реализовать внутри шаблона. Вместе с данными модели, каждый элемент массива в списке содержит служебное поле _href в котором записана ссылка на детальный просмотр данного объекта списка (в терминах рассматриваемого примера - на карточку конкретного события). {$entity_item._href} - это ссылка на "страничку" данного объекта, которую можно просто вписывать в аттрибут href тега ссылки. Все ссылки формируются по принципу алиас_сущности/ID_объекта. Так что для нашего примера все ссылки на конкретные события будут иметь вид сайт/events/N , где N = 1,2,3,..... В итоге по приведенному шаблону мы получим вывод вида (для примера я изменил количество объектов на странице на 2 вместо 10): 2.2 Карточка Принцип абсолютно тот же, что и для списка, только в этом случае в шаблон приходят две переменные: {$entity_item} - полная модель просматриваемого объекта {$entity_info} - информация о текущей модели Т.е. если у вас есть в модели поле owner_name типа safe_string, то вы можете вывести его как {$entity_item.owner_name.value}. А если есть поле gorod вида списка-выпадашки с вариантами из таблицы городов, то {$entity_item.owner_name.value_string} - получаем текстовое значение и {$entity_item.owner_name.value} - получаем числовой индекс. 3383134a17ec2754917c03a7726d8b87c7029811 Приложения 0 6 607 592 2017-08-31T20:04:55Z Abushyk 2 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) db88fdc8e93bc3812bbef8a81a45fdfacbe4ea7a Файл:599ede918063f CMSSitebill(3).png.49f10e8c1e18b4d7f4c2ab11c3eb70bc.png 6 79 618 2017-09-01T11:16:16Z Abushyk 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Перевод 0 38 621 557 2017-09-13T08:55:27Z Kondin 1 wikitext text/x-wiki == Рекомендуемый быстрый способ перевода сайта == Вы можете использовать переводчик от Google, тут инструкция https://translate.google.com/manager/website/<br/> Это самый быстрый способ и не требует от вас дополнительных усилий.<br/> == Включение языков в настройках == Использовать мультиязычность (apps.language.use_langs) = '''1'''<br> Список языков (apps.language.languages) = '''ru=Русский|en=English|ua=Украинский'''<br> Код языка по умолчанию (apps.language.default_lang_code) = '''ru'''<br> Использовать технические значения как RU (apps.language.use_default_as_ru) = '''поставить галочку'''<br> == Ручной перевод == Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для активации мультиязычного режима нужно включить в настройках во вкладке Редактор переводов опцию Использовать мультиязычность (apps.language.use_langs) - установите там значение 1.<br/> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.<br /> Например, нужно сделать перевод для поля text (описание) на английский язык (en).<br /> Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.<br /> В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.<br /> Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br /> Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. === Локализации === Языки подключаются в два этапа - этап локализации системы и этап локализации приложения ==== Этап локализации системы ==== Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language.<br /> В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1.<br /> Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык.<br /> ==== Этап локализации приложения ==== Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения. Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language.<br /> Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные ==== Редактор языков в админке ==== В новых версиях создан редактор языков в панели управления '''Приложения - Редактор переводов''' ==== Необходимые изменения в базе данных ==== Когда вы добавляете свой язык, вам необходимо добавить дополнительные поля в базе данных с помощью этих команд:<br /> alter table re_topic add column name_яз varchar(255);<br /> alter table re_menu_structure add column name_яз varchar(255);<br /> Где яз - это ваш языковой префикс. Например, если вы добавили японский язык, тогда яз = jp<br /> <br /> ==== Перевод шаблонов ==== <br/> Для того чтобы создавать языковые файлы в шаблоне, необходимо создать каталог в шаблоне<br/> /template/frontend/ваш_шаблон/language/ru/dictionary.ini (для русского языка)<br/> /template/frontend/ваш_шаблон/language/en/dictionary.ini (для английского языка)<br/> <br/> Вот пример dictionary.ini для русского языка<br/> LT_NEWS="Новости" LT_FOR_USER="Пользователю" LT_USEFUL="Полезное" LT_SPECIAL="Спецпредложение" LT_WE_OFFER="Мы предлагаем" LT_LIST="Список" LT_GRID="Сетка" LT_ORDER="Порядок" LT_SORTBY="Сортировать" LT_ORDER_UP="по возрастанию" LT_ORDER_DOWN="по убыванию" LT_SEARCH="Поиск" LT_VIEW_DETAILS="Подробнее" LT_CONTACT_AGENT="Связаться с агентом" LT_DESCRIPTION="Описание" LT_LOCATION="Расположение" LT_ADD_YOUR_OWN="Добавить свое объявление" LT_ADD_YOUR_OWN_DESC="На нашем сайте вы можете добавить информацию о своей недвижимости" LT_SCROLLUP="Наверх" LT_RENT_FLAT="Снять квартиру" LT_RENT_FLAT_DESC="Интересно арендовать, тогда заполните форму и мы подберем вам вариант" LT_MORTGAGES="Ипотека" LT_MORTGAGES_DESC="Быстро оформить ипотеку и жить в своей квартире, это проще чем думается." LT_SEARCH="Поиск" LT_NEW_OBJECTS="Новые объекты" LT_CONTACTUS="Написать нам" LT_ABOUT="О нас" Теперь внутри шаблона, например, в файле спец.предложений можно заменить слово Спец.предложения на языковую переменную, которая будет переводиться в соответствии с выбранным языком<br/> /template/frontend/ваш_шаблон/top_special.tpl<br/> Меняем слово Спец.предложения на {$L_SPECIAL_OFFERS}<br/> Обсудить на форуме https://www.sitebill.ru/s/topic/3345-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4-%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2/ 9f0f10ad989c163cc86c50bad4342224d58fd12c Как создать пользовательскую форму заявки 0 35 622 604 2017-10-06T12:01:19Z Kondin 1 wikitext text/x-wiki Необходимо создать пользовательскую форму заявки для того, что бы пользователь мог передать некоторые данные на обработку администратору. '''Ингридиенты:'''<br /> приложение Клиенты (версия 1.0.1)<br /> приложение Статические страницы (версия 1.1.1)<br /> 1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet.<br /><br /> 2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно.<br /><br /> 3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей.<br /><br /> 4. Для формы заявки есть три служебных поля. Это:<br /> fio (Ваше имя) - safe_string поле<br /> email (Email) - safe_string поле<br /> phone (телефон) - safe_string поле<br /> Эти поля нужны для ведения учета заявок, поэтому даже если вы не зададите их сами в своей модели заявки, они будут добавлены автоматически.<br /><br /> 5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок.<br /> Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на расчет}<br /><br /> 6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где<br /> client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент raschet - имя модели вашей формы заявки<br /> Вывод в браузер будет содержать только форму заявки.<br /><br /> 7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделивашейформы, т.е. в данном случае client_order_raschet.tpl<br /> Этот файл должен содержать, в обязательном порядке,<br /> <pre> {$form} </pre> Все остальное на ваше усмотрение. Например: <pre> <h1>Тут мой заголовок к заявке</h1> <p>Тут какой-то текст перед формой</p> {$form} <hr /> <p>Тут какой-то текст под горизонталью под формой</p> </pre> <br /> 8. Добавляем мета-информацию.<br /> Для присоединения к вашей форме некоторой мета-информации используем приложение Статические страницы. Создаем статическую страницу с полем URI client_order_имямоделивашейформы или же client_order_raschet<br /> Для этой страницы указываем ту мета-информацию, которую хотим увидеть вместе с нашей формой заявки и сохраняем. <br> <br> '''Видео-урок по этой теме https://www.youtube.com/watch?v=8kv9LRu_oAw ''' <br> 9. Данная инструкция позволяет менять внешнее оформление формы, но не затрагивает внутренние элементы самой формы. Если вам нужно переделать и саму форму, тогда смотрите данную инструкцию [[Создание своих шаблонов для форм]]<br> <br> 10. Для формирование вывода списка элементов на сайте со своими шаблонами инструкция на форуме https://www.sitebill.ru/s/topic/3230-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8%D0%B7-%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B0/?do=findComment&comment=37257 1a17e9b4a57a57bd741ea2ee9f5cda454f9b1745 Приложение "Выгрузка Yandex.Realty" 0 31 623 584 2017-10-16T12:03:46Z Abushyk 2 /* Сопоставления типов здания */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) === Сопоставления типов ремонта === 564a96ee7d086cf647c1d6c0ecbb6c416a11088b 624 623 2017-10-16T12:10:11Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Можно указать условие только по одному свойству. === Сопоставления типов ремонта === 85fe8ac618a15efcf4d3398a3d2e73fa8d5e3fd2 625 624 2017-10-16T12:10:29Z Abushyk 2 /* Сопоставления типов здания */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === 1c2e26c29e8b1982c9a904c5880a6e1cc5699821 626 625 2017-10-16T12:12:51Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в 17c2122cc0f91ba5fb414b6a8f67696594def9e1 627 626 2017-10-16T12:13:26Z Abushyk 2 /* Сопоставления типов ремонта */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" ff61d96f60e70fd9ce915130333bfbafe7c20705 628 627 2017-10-16T12:16:31Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" eda927f572d0e0b74ee40b7c01e9fe08d86d3c8c 629 628 2017-10-16T22:37:52Z Abushyk 2 /* Настройки */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. c4b05ea60bed966575b8567f7485ba862537425f 630 629 2017-10-30T12:09:55Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь описанием на форуме https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. f177ba8bbeecb20f39cba601fb7f29b2ebeac648 631 630 2017-10-30T12:13:15Z Abushyk 2 /* Как создать дополнительную точку выгрузки */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. 33714e46c2b5875095baf2d4fe4c6cda14f6b743 644 631 2017-11-02T12:31:11Z Abushyk 2 /* Название организации */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === === Кадастровый номер === de346f3ab998213cbd862b348a45ef3d3ac5d482 645 644 2017-11-02T12:33:11Z Abushyk 2 /* Номер квартиры */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === 4a69fb1c177540a525634005910bfc447f0470a5 646 645 2017-11-02T12:33:52Z Abushyk 2 /* Кадастровый номер */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. 38828f578ca98511d5eac45826670bcf251dc805 651 646 2018-01-24T11:47:07Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. 52562462597ad1a9702edb6fc51bf921955971d1 652 651 2018-01-24T11:55:53Z Abushyk 2 /* Сопоставления типов для гаражей */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. dd2d422f6ce64355dab483ab431c9d606b1678d6 Введение 0 25 632 89 2017-10-31T20:17:44Z Abushyk 2 wikitext text/x-wiki Скрипт недвижимости представляет собой автоматизированную систему управления сайтом. Для размещения объявлений о недвижимости с помощью web-интерфейса. Упрощенные функции позволяют даже начинающему пользователю быстро разобраться с основными инструментами. Выгодное отличие от навороченных систем управления вроде Joomla, Bitrix, Drupal – состоит в том, что данный скрипт разработан специально для одной цели, в то время как другие системы включают в себя множество функций, которые в большинстве случаев никогда не понадобятся обычному пользователю. ==Структура== 72197500b052be3166b4de1c3a5b7a2f2aaa9dfe 633 632 2017-10-31T20:27:08Z Abushyk 2 wikitext text/x-wiki Скрипт недвижимости представляет собой автоматизированную систему управления сайтом. Для размещения объявлений о недвижимости с помощью web-интерфейса. Упрощенные функции позволяют даже начинающему пользователю быстро разобраться с основными инструментами. Выгодное отличие от навороченных систем управления вроде Joomla, Bitrix, Drupal – состоит в том, что данный скрипт разработан специально для одной цели, в то время как другие системы включают в себя множество функций, которые в большинстве случаев никогда не понадобятся обычному пользователю. ==Структура== Функциональный состав - ядро (приложение System) и [[Приложения|приложения]] 497dbcc4076f2c1a926d38d2e15400f07ef3e689 634 633 2017-10-31T20:31:17Z Abushyk 2 wikitext text/x-wiki Скрипт недвижимости представляет собой автоматизированную систему управления сайтом. Для размещения объявлений о недвижимости с помощью web-интерфейса. Упрощенные функции позволяют даже начинающему пользователю быстро разобраться с основными инструментами. Выгодное отличие от навороченных систем управления вроде Joomla, Bitrix, Drupal – состоит в том, что данный скрипт разработан специально для одной цели, в то время как другие системы включают в себя множество функций, которые в большинстве случаев никогда не понадобятся обычному пользователю. ==Структура== Функциональный состав - ядро (приложение System) и [[Приложения|приложения]] В состав ядра входит набор мини-приложений, таких как формы некоторых запросов, формы обратной связи и гостевого добавления объекта. 067b3d439a22eeafeb3d2c80113623cfe312a37e 635 634 2017-10-31T20:41:32Z Abushyk 2 /* Структура */ wikitext text/x-wiki Скрипт недвижимости представляет собой автоматизированную систему управления сайтом. Для размещения объявлений о недвижимости с помощью web-интерфейса. Упрощенные функции позволяют даже начинающему пользователю быстро разобраться с основными инструментами. Выгодное отличие от навороченных систем управления вроде Joomla, Bitrix, Drupal – состоит в том, что данный скрипт разработан специально для одной цели, в то время как другие системы включают в себя множество функций, которые в большинстве случаев никогда не понадобятся обычному пользователю. ==Структура== Функциональный состав - ядро (приложение System) и [[Приложения|приложения]] В состав ядра входит набор мини-приложений, таких как модули форм некоторых запросов, формы обратной связи и гостевого добавления объекта. 4a310997e68f4e4b2e7da935735d6c60ee7ed830 Модуль "Форма обратной связи" 0 80 636 2017-10-31T21:14:44Z Abushyk 2 Новая страница: «==Назначение== ==Предусмотренные поля== Если в модели формы обратной связи присутствует э…» wikitext text/x-wiki ==Назначение== ==Предусмотренные поля== Если в модели формы обратной связи присутствует элемент с именем theme и типом select_box, то тема письма будет формироваться с учетом выбранной темы. Для фиксации даты добавления заявки, когда заявки сохраняются в своей таблице в БД, добавьте в модель поле с именем created_at и типом dtdatetime с доступом только для администраторов. 4bc1c1a1fffb9f386bda84e4362d41b12e5038a9 637 636 2017-10-31T21:26:00Z Abushyk 2 wikitext text/x-wiki ==Назначение== ==Предусмотренные поля== Если в модели формы обратной связи присутствует элемент с именем theme и типом select_box, то тема письма будет формироваться с учетом выбранной темы. Для фиксации даты добавления заявки, когда заявки сохраняются в своей таблице в БД, добавьте в модель поле с именем created_at и типом dtdatetime с доступом только для администраторов. ==Добавление формы обратной связи на страницу== Если возникла необходимость добавить форму обратной связи на страницу кроме родной страницы, например в подвал или всплывающее окно, необходимо в контроллере шаблона вызвать функцию инициализации формы <pre> require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/form/contactus.php'); $contactus_form = new contactus_Form(); $this->template->assert('contactus_form', $contactus_form->get_order_form(array('form_class'=>'', 'onsuccess'=>'close_modal'))); </pre> aa6d0e1c1a260bb4a647d49769472557635f339f 638 637 2017-10-31T21:31:46Z Abushyk 2 /* Добавление формы обратной связи на страницу */ wikitext text/x-wiki ==Назначение== ==Предусмотренные поля== Если в модели формы обратной связи присутствует элемент с именем theme и типом select_box, то тема письма будет формироваться с учетом выбранной темы. Для фиксации даты добавления заявки, когда заявки сохраняются в своей таблице в БД, добавьте в модель поле с именем created_at и типом dtdatetime с доступом только для администраторов. ==Добавление формы обратной связи на страницу== Если возникла необходимость добавить форму обратной связи на страницу кроме родной страницы, например в подвал или всплывающее окно, необходимо в контроллере шаблона вызвать функцию инициализации формы <pre> require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/form/contactus.php'); $contactus_form = new contactus_Form(); $this->template->assert('contactus_form', $contactus_form->get_order_form(array('form_class'=>'', 'onsuccess'=>'close_modal'))); </pre> После чего, используя переменную {$contactus_form} разместить форму в шаблоне. Формы, добавленные в шаблон таким образом, будут работать посредством ajax-запроса. edc44b2cfb28178598cfe3dff27c26ebd2a3e891 639 638 2017-10-31T21:57:45Z Abushyk 2 wikitext text/x-wiki ==Назначение== ==Предусмотренные поля== Если в модели формы обратной связи присутствует элемент с именем theme и типом select_box, то тема письма будет формироваться с учетом выбранной темы. Для фиксации даты добавления заявки, когда заявки сохраняются в своей таблице в БД, добавьте в модель поле с именем created_at и типом dtdatetime с доступом только для администраторов. ==Добавление формы обратной связи на страницу== Если возникла необходимость добавить форму обратной связи на страницу кроме родной страницы, например в подвал или всплывающее окно, необходимо в контроллере шаблона вызвать функцию инициализации формы <pre> require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/form/contactus.php'); $contactus_form = new contactus_Form(); $this->template->assert('contactus_form', $contactus_form->get_order_form(array('form_class'=>'', 'onsuccess'=>'close_modal'))); </pre> После чего, используя переменную {$contactus_form} разместить форму в шаблоне. Формы, добавленные в шаблон таким образом, будут работать посредством ajax-запроса. Функция get_order_form принимает массив параметров следующего вида: '''form_class''' - классы формы, если нужно переопределить стандартные '''onsuccess''' - имя JS-функции, которая будет вызвана в случае успешной отправки формы. В ней может быть реализован функционал закрытия модального окна, содержащего форму, например. Эта функция получит аргументом тестовый идентификатор формы. '''form_id''' - идентификатор формы. Если не задан, то будет использован сгенерированный случайный. 0e57a713f67ffda7a428ea020aaf4615f28c2d4f 640 639 2017-10-31T21:57:58Z Abushyk 2 /* Добавление формы обратной связи на страницу */ wikitext text/x-wiki ==Назначение== ==Предусмотренные поля== Если в модели формы обратной связи присутствует элемент с именем theme и типом select_box, то тема письма будет формироваться с учетом выбранной темы. Для фиксации даты добавления заявки, когда заявки сохраняются в своей таблице в БД, добавьте в модель поле с именем created_at и типом dtdatetime с доступом только для администраторов. ==Добавление формы обратной связи на страницу== Если возникла необходимость добавить форму обратной связи на страницу кроме родной страницы, например в подвал или всплывающее окно, необходимо в контроллере шаблона вызвать функцию инициализации формы <pre> require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/form/contactus.php'); $contactus_form = new contactus_Form(); $this->template->assert('contactus_form', $contactus_form->get_order_form(array('form_class'=>'', 'onsuccess'=>'close_modal'))); </pre> После чего, используя переменную {$contactus_form} разместить форму в шаблоне. Формы, добавленные в шаблон таким образом, будут работать посредством ajax-запроса. Функция get_order_form принимает массив параметров следующего вида: '''form_class''' - классы формы, если нужно переопределить стандартные '''onsuccess''' - имя JS-функции, которая будет вызвана в случае успешной отправки формы. В ней может быть реализован функционал закрытия модального окна, содержащего форму, например. Эта функция получит аргументом тестовый идентификатор формы. '''form_id''' - идентификатор формы. Если не задан, то будет использован сгенерированный случайный. 1d8adc3d43672e12a5ebf534a4b9c2b4fd5ffb79 641 640 2017-10-31T22:10:55Z Abushyk 2 /* Назначение */ wikitext text/x-wiki ==Назначение== Обработка оставляемых пользователями сообщений обратной связи. Сообщения могут приниматься "на лету" - без записи в БД, а только с отправкой на почту, и с сохранением в БД. Для сохранения заявок в БД необходимо создать таблицу по модели contactus и добавить первичный ключ с именем contactus_id в эту модель. ==Предусмотренные поля== Если в модели формы обратной связи присутствует элемент с именем theme и типом select_box, то тема письма будет формироваться с учетом выбранной темы. Для фиксации даты добавления заявки, когда заявки сохраняются в своей таблице в БД, добавьте в модель поле с именем created_at и типом dtdatetime с доступом только для администраторов. ==Добавление формы обратной связи на страницу== Если возникла необходимость добавить форму обратной связи на страницу кроме родной страницы, например в подвал или всплывающее окно, необходимо в контроллере шаблона вызвать функцию инициализации формы <pre> require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/form/contactus.php'); $contactus_form = new contactus_Form(); $this->template->assert('contactus_form', $contactus_form->get_order_form(array('form_class'=>'', 'onsuccess'=>'close_modal'))); </pre> После чего, используя переменную {$contactus_form} разместить форму в шаблоне. Формы, добавленные в шаблон таким образом, будут работать посредством ajax-запроса. Функция get_order_form принимает массив параметров следующего вида: '''form_class''' - классы формы, если нужно переопределить стандартные '''onsuccess''' - имя JS-функции, которая будет вызвана в случае успешной отправки формы. В ней может быть реализован функционал закрытия модального окна, содержащего форму, например. Эта функция получит аргументом тестовый идентификатор формы. '''form_id''' - идентификатор формы. Если не задан, то будет использован сгенерированный случайный. f4011880abc9e2c90695e902b38c7b8528701d9f 642 641 2017-10-31T22:17:53Z Abushyk 2 wikitext text/x-wiki ==Назначение== Обработка оставляемых пользователями сообщений обратной связи. Сообщения могут приниматься "на лету" - без записи в БД, а только с отправкой на почту, и с сохранением в БД. Для сохранения заявок в БД необходимо создать таблицу по модели contactus и добавить первичный ключ с именем contactus_id в эту модель. ==Предусмотренные поля== В качестве первичного ключа используйте поле с именем '''contactus_id''' Если в модели формы обратной связи присутствует элемент с именем '''theme''' и типом ''select_box'', то тема письма будет формироваться с учетом выбранной темы. Для фиксации даты добавления заявки, когда заявки сохраняются в своей таблице в БД, добавьте в модель поле с именем '''created_at''' и типом ''dtdatetime'' с доступом только для администраторов. ==Добавление формы обратной связи на страницу== Если возникла необходимость добавить форму обратной связи на страницу кроме родной страницы, например в подвал или всплывающее окно, необходимо в контроллере шаблона вызвать функцию инициализации формы <pre> require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/form/contactus.php'); $contactus_form = new contactus_Form(); $this->template->assert('contactus_form', $contactus_form->get_order_form(array('form_class'=>'', 'onsuccess'=>'close_modal'))); </pre> После чего, используя переменную {$contactus_form} разместить форму в шаблоне. Формы, добавленные в шаблон таким образом, будут работать посредством ajax-запроса. Функция get_order_form принимает массив параметров следующего вида: '''form_class''' - классы формы, если нужно переопределить стандартные '''onsuccess''' - имя JS-функции, которая будет вызвана в случае успешной отправки формы. В ней может быть реализован функционал закрытия модального окна, содержащего форму, например. Эта функция получит аргументом тестовый идентификатор формы. '''form_id''' - идентификатор формы. Если не задан, то будет использован сгенерированный случайный. 8d6716ac5c916798d3b9403993a4aee4274846d0 Биллинг 0 13 643 595 2017-11-01T17:16:38Z Abushyk 2 /* Таблица */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> fba414c7fee0366806dae14bb002f32ca3ed7c09 647 643 2017-11-13T09:49:47Z Kondin 1 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> a0dc69a4ac1668e4cc74d252c513e9dd89562752 Приложение "PayPal" 0 62 648 450 2017-12-22T17:39:24Z Abushyk 2 /* Предварительные действия */ wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.paypal.com/ PayPal]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> Оплата производится в долларах США <br /> Механизм работы с мерчантом основан на системе IPN (https://developer.paypal.com/docs/classic/products/instant-payment-notification/) <br /> == Предварительные действия == * Необходимо создать бизнес-аккаунт на сайте системы PayPal * необходимо подключить отправку IPN-сообщений в аккаунте PayPal https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_display-ipns-history == Настройки приложения == '''ID или email продавца''' - email зарегистрированный для бизнес-аккаунта или, для тестирования, email аккаунта продавца в PayPal Sandbox <br /> '''URL обработчика IPN запросов''' - <nowiki>http://ваш_домен/apps/paypal/listener.php</nowiki><br /> '''URL платежной системы''' - <nowiki>https://www.paypal.com/cgi-bin/webscr</nowiki> (для оплаты) или <nowiki>https://www.sandbox.paypal.com/cgi-bin/webscr</nowiki> (для тестирования с помощью Sandbox)<br /> '''URL страницы возврата''' - <nowiki>http://ваш_домен/account/balance/</nowiki><br /> '''URL страницы возврата отказа''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''Стоимость 1USD в валюте сайта''' - Коефициент используемый для пересчета сумм пополнения на сайте в доллар США. Десятичное число. В качестве разделителя целой и дробной частей используется точка (2.64)<br /> == Ссылки == [https://developer.paypal.com/docs/classic/products/instant-payment-notification/ Instant Payment Notification]<br /> [http://www.etown.ru/s/topic/1740-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%BD%D0%BE%D0%B9-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-paypal/?hl=paypal Обсуждение на форуме] 0ded6e543afbd39573382784cd5f7738ec183a39 649 648 2017-12-22T17:45:40Z Abushyk 2 /* Предварительные действия */ wikitext text/x-wiki == Описание == Приложение предназначено для предоставления возможности пополнения внутрисайтового счета пользователя с помощь интерфейса системы [https://www.paypal.com/ PayPal]. <br /> В данный момент приложение поддерживает оплату при которой комиссионные расходы ложатся на оплачивающего пополнение, т.е. на клиента. <br /> Оплата производится в долларах США <br /> Механизм работы с мерчантом основан на системе IPN (https://developer.paypal.com/docs/classic/products/instant-payment-notification/) <br /> == Предварительные действия == * Необходимо создать бизнес-аккаунт на сайте системы PayPal * необходимо подключить отправку IPN-сообщений в аккаунте PayPal https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_display-ipns-history Setting Up IPN Notifications on PayPal https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNSetup/ == Настройки приложения == '''ID или email продавца''' - email зарегистрированный для бизнес-аккаунта или, для тестирования, email аккаунта продавца в PayPal Sandbox <br /> '''URL обработчика IPN запросов''' - <nowiki>http://ваш_домен/apps/paypal/listener.php</nowiki><br /> '''URL платежной системы''' - <nowiki>https://www.paypal.com/cgi-bin/webscr</nowiki> (для оплаты) или <nowiki>https://www.sandbox.paypal.com/cgi-bin/webscr</nowiki> (для тестирования с помощью Sandbox)<br /> '''URL страницы возврата''' - <nowiki>http://ваш_домен/account/balance/</nowiki><br /> '''URL страницы возврата отказа''' - произвольный. Служит для перенаправления пользователя назад на сайт после неудачной оплаты.<br /> '''Стоимость 1USD в валюте сайта''' - Коефициент используемый для пересчета сумм пополнения на сайте в доллар США. Десятичное число. В качестве разделителя целой и дробной частей используется точка (2.64)<br /> == Ссылки == [https://developer.paypal.com/docs/classic/products/instant-payment-notification/ Instant Payment Notification]<br /> [http://www.etown.ru/s/topic/1740-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%BD%D0%BE%D0%B9-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-paypal/?hl=paypal Обсуждение на форуме] 41e216a54a9aa6c4cbeecc7da39755d08c573095 Приложение "Выгрузка AVITO" 0 68 650 565 2017-12-28T11:19:27Z Abushyk 2 wikitext text/x-wiki Выгрузка AVITO.<br /> '''Установка и настройка приложения на только что созданный сайт - малоэффективна в связи с тем, что его настройка связана с асоциированием данных выгрузки с полями модели объекта. Если модель объекта не окончательна и будет кардинально меняться\дополняться через некоторое время - это приведет к необходимости полной перенастройки приложения.''' == Отслеживание результатов выгрузки == Просмотреть отчет о последней выгрузке Вы можете по адресу ВАШ_САЙТ/cache/avitoexporter.last.log.xml == Форсированная выгрузка == Данный тип выгрузки позволяет управлять составом и набором эспортируемых данных. Запрос на получение такой выгрузки происходит на стандартный выгрузочный адрес. Отличием является необходимость передачи в запросе параметра-пароля, который доложен соответствовать паролю, указанному в настройках приложения в пункте Пароль для форсированной выгрузки (apps.avitoexporter.force_pass). Если пароль не указан или не передан в запросе, будут выгружены записи согласно стандартных настроек.<br /> Для управления форсированной выгрузкой допустимо использовать следующие параметры:<br /> # activity - Управление активностью * '''''1''''' - выгружать только активные записи * '''''0''''' - выгружать только неактивные записи * '''''любое другое значение или отсутствие параметра в запросе''''' - выгружать все записи # time_limit - Управление сроком размещения * '''''1''''' - выгружать согласно настроек на ограничение по времени публикации * '''''любое другое значение или отсутствие параметра в запросе''''' - ограничения по времени публикации игнорируются # limit - Количество записей * '''''любое целое число больше нуля''''' - будет выгружено не более указанного числа записей * '''''любое другое значение или отсутствие параметра в запросе''''' - ограничения по количеству не применяются === Пример === /avitoexporter/?pass=XXXXXX&activity=1&limit=10 - выгрузить 10 последних активных записей<br /> /avitoexporter/?pass=XXXXXX&activity=0&time_limit=1&limit=100 - выгрузить не более 100 последних неактивных записей, которые не старше временного ограничения указанного в админке<br /> /avitoexporter/?pass=XXXXXX - выгрузить все записи<br /> 23aff944ead1c184b007b1bc1ceabf4f6cfc9607 Приложение "Экспорт в PDF" 0 47 653 235 2018-01-26T11:32:14Z Abushyk 2 wikitext text/x-wiki == Назначение == Приложение предназначено для организации экспорта объявлений в формат PDF-документа, которые, зачастую, более удобны при распространении и печати.<br /> Приложение поддерживает создание собственных макетов документов, что позволяет определить свой уникальный стиль подачи материала<br /> Создание макета может потребовать некоторых базовых знаний в области создания разметки HTML и использования стилей CSS, либо привлечения специалиста. Не сложные макеты могут быть сверстаны самостоятельно на основании базового. == Установка == # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <pre> {if $apps_pdfreport_enabled==1} <div class="es"> <a href="?format=pdf" class="btn"> <i class="icon icon-print"></i> Печать </a> </div> {/if} </pre> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <pre>/apps/pdfreport/admin/template/realty_view.tpl</pre> сюда<br /> <pre>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</pre> <br /> Изменяя этот файл вы сможете добавить собственные стили отображения, контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов<br /><br /> 1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта <nowiki>http://domain/realty385?format=pdf</nowiki>. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.<br /><br /> 2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Папки перечислены в порядке, в котором будет проводиться проверка наличия указанного файла.<br /><br /> 3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым)<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> - папке /apps/pdfreport/admin/template/realty_view.tpl<br /><br /> Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl<br /> === Пример === Запросив <nowiki>http://domain/realty385?format=pdf</nowiki> вы получите сгенерированный документ на основании макета из /apps/pdfreport/admin/template/realty_view.tpl<br /> Если у вы создадите в шаблоне файл /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl, то по этому же запросу вы получите документ на основании макета из /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> Запросив <nowiki>http://domain/realty385?format=pdf&tpl=my_pdf_layout</nowiki> будет отдан документ на основании макета<br /> /template/frontend/ваш_шаблон/apps/pdfreport/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/realty_view.tpl<br /> == Макеты == Макеты для генерации документов PDF должны иметь расширение tpl, могут иметь в названии латинские буквы, цифры и подчеркивания.<br /> По сути, макет - это обычная законченная html-страница, которая должна включать все обязательные элементы разметки (html, head, body). Разметка должна быть валидной - все открытые теги, требующие закрываюего, должны быть закрыты. <br /> Макет должен включать в себя ссылки на ВСЕ необходимые ему для построения таблицы стилей и библиотеки. Сылки могут быть абсолютными, либо относительными. Для относительных необходимо использовать переменную '''{$_core_folder}''' для правильного ссылания на корень сайта. Логика указания ссылок на таблицы стилей аналогична и для указания источников изображений<br /> == Шрифты == Приложение поддерживает следующие значения для font-family в стилях шаблона arial (стоит отдавать предпочтение arialcyr) arialcyr verdana sans-serif - не поддерживает кириллицу times - не поддерживает кириллицу times-roman - не поддерживает кириллицу courier - не поддерживает кириллицу helvetica - не поддерживает кириллицу zapfdingbats - не поддерживает кириллицу symbol - не поддерживает кириллицу serif - не поддерживает кириллицу monospace - не поддерживает кириллицу fixed - не поддерживает кириллицу dejavu sans dejavu sans mono dejavu serif robotocondenced - поддержка данного шрифта не окончательна и может быть отменена 298a987e73f3d5ea4a05795ab8a9141c8c5d288d 654 653 2018-01-26T11:32:37Z Abushyk 2 /* Шрифты */ wikitext text/x-wiki == Назначение == Приложение предназначено для организации экспорта объявлений в формат PDF-документа, которые, зачастую, более удобны при распространении и печати.<br /> Приложение поддерживает создание собственных макетов документов, что позволяет определить свой уникальный стиль подачи материала<br /> Создание макета может потребовать некоторых базовых знаний в области создания разметки HTML и использования стилей CSS, либо привлечения специалиста. Не сложные макеты могут быть сверстаны самостоятельно на основании базового. == Установка == # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <pre> {if $apps_pdfreport_enabled==1} <div class="es"> <a href="?format=pdf" class="btn"> <i class="icon icon-print"></i> Печать </a> </div> {/if} </pre> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <pre>/apps/pdfreport/admin/template/realty_view.tpl</pre> сюда<br /> <pre>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</pre> <br /> Изменяя этот файл вы сможете добавить собственные стили отображения, контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов<br /><br /> 1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта <nowiki>http://domain/realty385?format=pdf</nowiki>. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.<br /><br /> 2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Папки перечислены в порядке, в котором будет проводиться проверка наличия указанного файла.<br /><br /> 3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым)<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> - папке /apps/pdfreport/admin/template/realty_view.tpl<br /><br /> Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl<br /> === Пример === Запросив <nowiki>http://domain/realty385?format=pdf</nowiki> вы получите сгенерированный документ на основании макета из /apps/pdfreport/admin/template/realty_view.tpl<br /> Если у вы создадите в шаблоне файл /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl, то по этому же запросу вы получите документ на основании макета из /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> Запросив <nowiki>http://domain/realty385?format=pdf&tpl=my_pdf_layout</nowiki> будет отдан документ на основании макета<br /> /template/frontend/ваш_шаблон/apps/pdfreport/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/realty_view.tpl<br /> == Макеты == Макеты для генерации документов PDF должны иметь расширение tpl, могут иметь в названии латинские буквы, цифры и подчеркивания.<br /> По сути, макет - это обычная законченная html-страница, которая должна включать все обязательные элементы разметки (html, head, body). Разметка должна быть валидной - все открытые теги, требующие закрываюего, должны быть закрыты. <br /> Макет должен включать в себя ссылки на ВСЕ необходимые ему для построения таблицы стилей и библиотеки. Сылки могут быть абсолютными, либо относительными. Для относительных необходимо использовать переменную '''{$_core_folder}''' для правильного ссылания на корень сайта. Логика указания ссылок на таблицы стилей аналогична и для указания источников изображений<br /> == Шрифты == Приложение поддерживает следующие значения для font-family в стилях шаблона arial (стоит отдавать предпочтение arialcyr) arialcyr verdana sans-serif - не поддерживает кириллицу times - не поддерживает кириллицу times-roman - не поддерживает кириллицу courier - не поддерживает кириллицу helvetica - не поддерживает кириллицу zapfdingbats - не поддерживает кириллицу symbol - не поддерживает кириллицу serif - не поддерживает кириллицу monospace - не поддерживает кириллицу fixed - не поддерживает кириллицу dejavu sans dejavu sans mono dejavu serif robotocondenced - поддержка данного шрифта не окончательна и может быть отменена ce7d477bed6d8367b49639b18a95c8240c533721 Страницы 0 14 655 100 2018-01-30T12:47:57Z Kondin 1 wikitext text/x-wiki Редактор страниц предназначен для создания статичных HTML страниц. В них вы можете добавлять произвольный текст и добавлять картинки. При использовании соответствующих тегов можно добавлять flash-анимацию.<br /> Расположен модуль статичных страниц в панели управления в пункте меню Контент – Страницы.<br /> Для создания новой страницы нажмите «Добавить страницу». В появившейся форме нужно заполнить необходимые поля.<br /><br /> '''Заголовок''' – этот заголовок будет выводиться в строке браузера, если не указан meta_title, а также будет выведен в хлебных крошках, когда пользователь просматривает эту страницу. Это обязательное поле.<br /> '''URI''' – уникальный идентификатор страницы. Сюда нужно вписать латинскими буквами адрес страницы на сайте. Например, если вы создаете страницу Услуги, то сюда нужно вписать латинскими буквами uslugi. После сохранения эта страница будет доступна по адресу http://ваш_сайт/uslugi. Обращаем вашем внимание что в URI не нужно использовать символы /. Это обязательное поле.<br /> '''Meta title''' – если указать это поле, тогда оно заменит собой тег <title> в коде страницы и также будет выведено в заголовке окна браузера. Поисковики будут загружать именно этот заголовок страницы. Поле не обязательно для заполнения.<br /> '''Meta keywords''' – служит для ввода ключевых слов через запятую. Тек meta_keywords Поле не обязательно для заполнения. (''<meta name="keywords" lang="ru" content="тут будут ваши ключевые слова">'')<br /> '''Meta description''' – для заполнения описания страницы, также для поисковых машин. (''<meta name="description" lang="ru" content="тут будет описание">'')<br /> Содержимое – сюда нужно вписывать текст страницы. Можно использовать любую HTML разметку. Текст отсюда будет выведен на самой страничке.<br /> <br /> <br /> После того, как вы добавили страницу ее можно вывести на сайте. Для этого зайдите в панели управления в пункт '''Меню'''. Там выберите нужное меню и кликните кнопку '''Структура'''. Здесь добавьте новый пункт. В названии, например, О компании. В URL пишем /about/. Обязательно указываем слеши. 568f809c3e57d7ab1a32c3a19d8b9c5648a084b3 Приложение "Экспорт в PDF" 0 47 656 654 2018-03-16T08:26:44Z Abushyk 2 /* Шрифты */ wikitext text/x-wiki == Назначение == Приложение предназначено для организации экспорта объявлений в формат PDF-документа, которые, зачастую, более удобны при распространении и печати.<br /> Приложение поддерживает создание собственных макетов документов, что позволяет определить свой уникальный стиль подачи материала<br /> Создание макета может потребовать некоторых базовых знаний в области создания разметки HTML и использования стилей CSS, либо привлечения специалиста. Не сложные макеты могут быть сверстаны самостоятельно на основании базового. == Установка == # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <pre> {if $apps_pdfreport_enabled==1} <div class="es"> <a href="?format=pdf" class="btn"> <i class="icon icon-print"></i> Печать </a> </div> {/if} </pre> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <pre>/apps/pdfreport/admin/template/realty_view.tpl</pre> сюда<br /> <pre>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</pre> <br /> Изменяя этот файл вы сможете добавить собственные стили отображения, контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов<br /><br /> 1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта <nowiki>http://domain/realty385?format=pdf</nowiki>. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.<br /><br /> 2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Папки перечислены в порядке, в котором будет проводиться проверка наличия указанного файла.<br /><br /> 3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым)<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> - папке /apps/pdfreport/admin/template/realty_view.tpl<br /><br /> Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl<br /> === Пример === Запросив <nowiki>http://domain/realty385?format=pdf</nowiki> вы получите сгенерированный документ на основании макета из /apps/pdfreport/admin/template/realty_view.tpl<br /> Если у вы создадите в шаблоне файл /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl, то по этому же запросу вы получите документ на основании макета из /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> Запросив <nowiki>http://domain/realty385?format=pdf&tpl=my_pdf_layout</nowiki> будет отдан документ на основании макета<br /> /template/frontend/ваш_шаблон/apps/pdfreport/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/realty_view.tpl<br /> == Макеты == Макеты для генерации документов PDF должны иметь расширение tpl, могут иметь в названии латинские буквы, цифры и подчеркивания.<br /> По сути, макет - это обычная законченная html-страница, которая должна включать все обязательные элементы разметки (html, head, body). Разметка должна быть валидной - все открытые теги, требующие закрываюего, должны быть закрыты. <br /> Макет должен включать в себя ссылки на ВСЕ необходимые ему для построения таблицы стилей и библиотеки. Сылки могут быть абсолютными, либо относительными. Для относительных необходимо использовать переменную '''{$_core_folder}''' для правильного ссылания на корень сайта. Логика указания ссылок на таблицы стилей аналогична и для указания источников изображений<br /> == Шрифты == Приложение поддерживает следующие значения для font-family в стилях шаблона arial (стоит отдавать предпочтение arialcyr) arialcyr verdana sans-serif - не поддерживает кириллицу times - не поддерживает кириллицу times-roman - не поддерживает кириллицу courier - не поддерживает кириллицу helvetica - не поддерживает кириллицу zapfdingbats - не поддерживает кириллицу symbol - не поддерживает кириллицу serif - не поддерживает кириллицу monospace - не поддерживает кириллицу fixed - не поддерживает кириллицу dejavu sans (оптимальный без засечек) dejavu sans mono dejavu serif (оптимальный с засечками) robotocondenced - поддержка данного шрифта не окончательна и может быть отменена 6f8cf7e827d768ea37730456bd8c6c8942614732 Типы элементов форм 0 44 657 385 2018-03-24T11:53:32Z Kondin 1 wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы. == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов 9c2b9df7e1a9096847533c122237c76892fd3691 658 657 2018-03-24T11:57:47Z Kondin 1 /* uploads */ wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы. == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов a2f911667a8345136cd1dca566f578d74589f92d 659 658 2018-03-24T12:02:50Z Kondin 1 описание hidden поля wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы. == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов 6eee072d654d12acb635da54edf5179174ed9662 674 659 2018-04-18T10:47:02Z Kondin 1 wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы. == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. f00ed30f848e85960ff9bb46ec566ab33a56d8a6 ExcelFree 0 59 660 342 2018-03-24T12:12:22Z Kondin 1 /* Описание */ wikitext text/x-wiki == Описание == Формирование файлов типа MS Excel с наборами данных. Возможность загружать данные из файлов в формате MS Excel. Данное приложение является основной для работы с справочниками через excel-таблицы. Вы можете загружать справочники улиц, городов и вообще любые справочники, которые есть в системе в том числе и те что вы создаете вручную. Видео-инструкция по работе со справочниками https://www.sitebill.ru/news/zagruzka-lyubih-spravochnikov-iz-excel/ Также можно загружать объявления недвижимости, у них немного больше возможностей. Например, распределение по категориям https://www.sitebill.ru/excel-php.html f1db43a01e2d0e7ec08d0fa480e1dfeaadfb68b2 661 660 2018-03-24T12:12:49Z Kondin 1 wikitext text/x-wiki == Описание == Формирование файлов типа MS Excel с наборами данных. Возможность загружать данные из файлов в формате MS Excel.<br /> Данное приложение является основной для работы с справочниками через excel-таблицы. Вы можете загружать справочники улиц, городов и вообще любые справочники, которые есть в системе в том числе и те что вы создаете вручную.<br /> Видео-инструкция по работе со справочниками https://www.sitebill.ru/news/zagruzka-lyubih-spravochnikov-iz-excel/<br /> Также можно загружать объявления недвижимости, у них немного больше возможностей. Например, распределение по категориям https://www.sitebill.ru/excel-php.html 622b1df09e140ee15ad4f830ae14235b1c8e6384 Приложение "Выгрузка Yandex.Realty" 0 31 662 652 2018-03-28T15:13:13Z Abushyk 2 /* Кадастровый номер */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Форма налогообложения арендодателя для аренды 2952f86e6b3f79de9f13f2ea0f8787bca5f05092 663 662 2018-03-28T15:16:01Z Abushyk 2 /* Форма налогообложения арендодателя для аренды */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" 039ee22b0cb9f66706fc536a7516a02b4b4be5c9 664 663 2018-03-28T15:16:14Z Abushyk 2 /* Форма налогообложения арендодателя для аренды */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" 9ce0db689c66d6e8b1cd63d1d0055a5b297085f6 665 664 2018-03-28T15:17:36Z Abushyk 2 /* Форма налогообложения арендодателя для аренды */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) fbb3e0de9cdfb31b23bedbe7bb677dcb7b66d30e 666 665 2018-03-28T15:18:24Z Abushyk 2 /* Дополнительная информация об аренде коммерческой недвижимости */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия 7c1e34e63cc91ff45a12d07d1bd4cb0cf3b2ab55 667 666 2018-03-28T15:18:40Z Abushyk 2 /* Дополнительная информация об аренде коммерческой недвижимости */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" 94e1131408faf2e419cf99bd266d9554c09a4fc3 668 667 2018-03-28T15:24:35Z Abushyk 2 /* Валюта. */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка '''Все цены указаны в валюте (apps.yandexrealty.global_currency_code)''' в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" 8bf628caca99d2efb6446c0f6214e46afa31cc38 669 668 2018-03-28T15:25:05Z Abushyk 2 /* Валюта. */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка '''Все цены указаны в валюте (apps.yandexrealty.global_currency_code)''' в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" 47cce5f6e9bc36698b6925a40ad3961074401d45 670 669 2018-03-28T15:25:36Z Abushyk 2 /* Валюта. */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" f6a620f5501b6d53b69eb4b09181a3af4d70f956 689 670 2018-05-22T08:17:40Z Abushyk 2 /* Настройки */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == a01de02586a2fd985cbbbafac8c6357417372c99 690 689 2018-05-22T08:23:41Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу /my_yandexfeed Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу /my_yandexfeed?user_id=1151&token=ACCESS_TOKEN где вместо ACCESS_TOKEN указать значение токена из параметра настройки "Токен доступа к персональным фидам пользователей". a13f1e53c0fc7c8dcc89e4e519699eacf2dace73 691 690 2018-05-22T08:24:23Z Abushyk 2 /* Персональные фиды */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. 390264c222a25a0580063f2d42a5e85710dcea91 Приложения 0 6 671 607 2018-03-30T05:51:19Z Kondin 1 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 4e73e8d1ef0b360eb715072362522e7c30c4ffa9 693 671 2018-05-30T10:37:14Z Abushyk 2 /* Парсинг */ wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> [[Приложение "Парсер ADS-API.RU"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 35b24233b31a66a626ac8c2d583899966f2d2816 Приложение "Telegram-постинг" 0 81 672 2018-03-30T05:51:47Z Kondin 1 Новая страница: «Настройка модуля постинга в Telegram» wikitext text/x-wiki Настройка модуля постинга в Telegram d751cd777504e3468fe8f5688736c78058b5ed8d Перевод 0 38 673 621 2018-04-13T09:29:32Z Kondin 1 добавлено описание функций автоматического перевода wikitext text/x-wiki == Рекомендуемый быстрый способ перевода сайта == Вы можете использовать переводчик от Google, тут инструкция https://translate.google.com/manager/website/<br/> Это самый быстрый способ и не требует от вас дополнительных усилий.<br/> == Включение языков в настройках == Использовать мультиязычность (apps.language.use_langs) = '''1'''<br> Список языков (apps.language.languages) = '''ru=Русский|en=English|ua=Украинский'''<br> Код языка по умолчанию (apps.language.default_lang_code) = '''ru'''<br> Использовать технические значения как RU (apps.language.use_default_as_ru) = '''поставить галочку'''<br> == Ручной перевод == Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для активации мультиязычного режима нужно включить в настройках во вкладке Редактор переводов опцию Использовать мультиязычность (apps.language.use_langs) - установите там значение 1.<br/> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.<br /> Например, нужно сделать перевод для поля text (описание) на английский язык (en).<br /> Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.<br /> В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.<br /> Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br /> Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. === Локализации === Языки подключаются в два этапа - этап локализации системы и этап локализации приложения ==== Этап локализации системы ==== Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language.<br /> В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1.<br /> Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык.<br /> ==== Этап локализации приложения ==== Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения. Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language.<br /> Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные ==== Редактор языков в админке ==== В новых версиях создан редактор языков в панели управления '''Приложения - Редактор переводов''' ==== Необходимые изменения в базе данных ==== Когда вы добавляете свой язык, вам необходимо добавить дополнительные поля в базе данных с помощью этих команд:<br /> alter table re_topic add column name_яз varchar(255);<br /> alter table re_menu_structure add column name_яз varchar(255);<br /> Где яз - это ваш языковой префикс. Например, если вы добавили японский язык, тогда яз = jp<br /> <br /> ==== Перевод шаблонов ==== <br/> Для того чтобы создавать языковые файлы в шаблоне, необходимо создать каталог в шаблоне<br/> /template/frontend/ваш_шаблон/language/ru/dictionary.ini (для русского языка)<br/> /template/frontend/ваш_шаблон/language/en/dictionary.ini (для английского языка)<br/> <br/> Вот пример dictionary.ini для русского языка<br/> LT_NEWS="Новости" LT_FOR_USER="Пользователю" LT_USEFUL="Полезное" LT_SPECIAL="Спецпредложение" LT_WE_OFFER="Мы предлагаем" LT_LIST="Список" LT_GRID="Сетка" LT_ORDER="Порядок" LT_SORTBY="Сортировать" LT_ORDER_UP="по возрастанию" LT_ORDER_DOWN="по убыванию" LT_SEARCH="Поиск" LT_VIEW_DETAILS="Подробнее" LT_CONTACT_AGENT="Связаться с агентом" LT_DESCRIPTION="Описание" LT_LOCATION="Расположение" LT_ADD_YOUR_OWN="Добавить свое объявление" LT_ADD_YOUR_OWN_DESC="На нашем сайте вы можете добавить информацию о своей недвижимости" LT_SCROLLUP="Наверх" LT_RENT_FLAT="Снять квартиру" LT_RENT_FLAT_DESC="Интересно арендовать, тогда заполните форму и мы подберем вам вариант" LT_MORTGAGES="Ипотека" LT_MORTGAGES_DESC="Быстро оформить ипотеку и жить в своей квартире, это проще чем думается." LT_SEARCH="Поиск" LT_NEW_OBJECTS="Новые объекты" LT_CONTACTUS="Написать нам" LT_ABOUT="О нас" Теперь внутри шаблона, например, в файле спец.предложений можно заменить слово Спец.предложения на языковую переменную, которая будет переводиться в соответствии с выбранным языком<br/> /template/frontend/ваш_шаблон/top_special.tpl<br/> Меняем слово Спец.предложения на {$L_SPECIAL_OFFERS}<br/> Обсудить на форуме https://www.sitebill.ru/s/topic/3345-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4-%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2/ <br /> ==== Функции перевода в коде PHP и шаблонах TPL ==== <br/> В коде PHP вместо выражений типа '''$title = "Заголовок";''' следует исползовать такое выражение '''$title = _e('Заголовок');'''<br /> Функция '''_e(string)''' - в случае если в настройках CMS не включены языки, то она просто вернет себя же при минимальном расходе ресурсов. Если же у нас включены языки, то эта функция сгенерирует md5-сумму данного слова и сделает запрос в базу на наличие перевода для текущего языка. Если этот перевод в хэш-таблице имеется, то будет возвращено переведенный текст. Если же в таблице переводов еще нет текста для этой md5-суммы, то при включенной опции '''apps.language.google_translate_api_key''' будет выполнена попытка перевода фразы с использованием Google translate API https://cloud.google.com/translate/docs/ После успешного перевода, в таблицу записывается перевод для этой фразы и возвращается результатом из функции '''_e(string)'''.<br /><br /> Аналогичным образом в шаблонах эта функция переопределана для использования в TPL файлах smarty '''{_e t="Привет мир!"}''' - этот код выведет перевод на выбранный язык или же просто выдаст эту же строчку, без включенного перевода. b4666ba89f224d7b6d0a76256a91e3d4d0c00216 Приложение "Редактор форм" 0 22 675 81 2018-04-28T10:18:16Z Kondin 1 wikitext text/x-wiki С помощью редактора форм вы можете править формы, добавлять новые поля и убирать ненужные поля из формы редактирования объявления. Например, можно добавить площадь участка, если вы продаете дома.<br> Также с помощью редактора форм можно создавать собственные справочники, чтобы реализовать более сложную структуру сайта. Например, вы можете добавить справочник подрайонов своего города.<br> Еще редактор форм позволяет создавать новые формы заявки. [[Как создать пользовательскую форму заявки]]<br> Редактор поддерживает такие типы данных: [[Типы элементов форм]]<br> Подробное описание приложения Редактора форм в данном видео-уроке<br /> http://www.youtube.com/watch?v=vpVpUq0q5GA c4b8ac4e13a5577865eba65dbe1d300869f5d1ff 676 675 2018-04-28T10:22:09Z Kondin 1 wikitext text/x-wiki С помощью редактора форм вы можете править формы, добавлять новые поля и убирать ненужные поля из формы редактирования объявления. Например, можно добавить площадь участка, если вы продаете дома.<br> Также с помощью редактора форм можно создавать собственные справочники, чтобы реализовать более сложную структуру сайта. Например, вы можете добавить справочник подрайонов своего города. [[Связанные элементы]]<br> Еще редактор форм позволяет создавать новые формы заявки. [[Как создать пользовательскую форму заявки]]<br> Редактор поддерживает такие типы данных: [[Типы элементов форм]]<br> Подробное описание приложения Редактора форм в данном видео-уроке<br /> http://www.youtube.com/watch?v=vpVpUq0q5GA e8a72600647520c2352cc7cf88c8126caaa57c3c Заглавная страница 0 1 677 568 2018-04-28T10:32:42Z Kondin 1 wikitext text/x-wiki ==Техническая документация CMS Sitebill== [[Введение]]<br /> [[Приложение "Редактор форм"]] - основной инструмент для управления формами<br /> [[Типы элементов форм]]<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Меню]]<br /> [[Шаблон]]<br /> [[Общие настройки]]<br /> [[Связанные элементы]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[mail|Настройка отправки писем с сайта]]<br /> [[hooks|Пользовательские обработчики - hooks]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Перевод|Перевод контента на другие языки]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 4a91d2e80ad5fd169352563eaa6b37a0302e0c0f 678 677 2018-04-28T10:33:10Z Kondin 1 wikitext text/x-wiki ==Техническая документация CMS Sitebill== [[Введение]]<br /> [[Приложение "Редактор форм"]] - основной инструмент для управления формами<br /> [[Типы элементов форм]] - описание основных типов (кирпичиков) из которых составляются формы<br /> [[Приложения]]<br /> [[Страницы]]<br /> [[Меню]]<br /> [[Шаблон]]<br /> [[Общие настройки]]<br /> [[Связанные элементы]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[mail|Настройка отправки писем с сайта]]<br /> [[hooks|Пользовательские обработчики - hooks]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Перевод|Перевод контента на другие языки]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. f5dfcf561c523dcff85d46c8e1d9b692ad610c3e 679 678 2018-04-28T10:33:59Z Kondin 1 wikitext text/x-wiki ==Техническая документация CMS Sitebill== [[Введение]]<br /> [[Приложение "Редактор форм"]] - основной инструмент для управления формами<br /> [[Типы элементов форм]] - описание основных типов (кирпичиков) из которых составляются формы<br /> [[Приложения]] CMS Sitebill состоит из отдельных модулей, каждый модуль выполняет свою определенную функцию <br /> [[Страницы]]<br /> [[Меню]]<br /> [[Шаблон]]<br /> [[Общие настройки]]<br /> [[Связанные элементы]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[mail|Настройка отправки писем с сайта]]<br /> [[hooks|Пользовательские обработчики - hooks]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Перевод|Перевод контента на другие языки]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 542ded6db5efcfdfd1c070fad50f97e16811576c 680 679 2018-05-17T05:59:23Z Kondin 1 wikitext text/x-wiki <br /> ==Техническая документация CMS Sitebill== [[Введение]]<br /> [[Приложение "Редактор форм"]] - '''основной инструмент для управления формами'''<br /> [[Типы элементов форм]] - '''описание основных типов (кирпичиков) из которых составляются формы'''<br /> [[Приложения]] '''CMS Sitebill состоит из отдельных модулей, каждый модуль выполняет свою определенную функцию''' <br /> [[Страницы]]<br /> [[Меню]]<br /> [[Шаблон]]<br /> [[Общие настройки]]<br /> [[Связанные элементы]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[mail|Настройка отправки писем с сайта]]<br /> [[hooks|Пользовательские обработчики - hooks]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Перевод|Перевод контента на другие языки]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 2b1f28c9080ad1e007692d2c552c3384849822b5 681 680 2018-05-17T06:01:44Z Kondin 1 wikitext text/x-wiki <br /> ==Техническая документация CMS Sitebill== [[Введение]]<br /> {| class="wikitable" |- | [[Приложение "Редактор форм"]] || '''основной инструмент для управления формами''' |- | [[Типы элементов форм]] || '''описание основных типов (кирпичиков) из которых составляются формы''' |- | [[Приложения]] || '''CMS Sitebill состоит из отдельных модулей, каждый модуль выполняет свою определенную функцию''' |} [[Страницы]]<br /> [[Меню]]<br /> [[Шаблон]]<br /> [[Общие настройки]]<br /> [[Связанные элементы]]<br /> [[Установка новых шаблонов]]<br /> [[Парсинг_КЛАДР|Парсинг КЛАДР]]<br /> [[Настройка_робокассы|Настройка робокассы]]<br /> [[Структура_разделов|Структура разделов]]<br /> [[Редактор_текста_CKEditor|Редактор текста CKEditor]]<br /> [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]]<br /> [[mail|Настройка отправки писем с сайта]]<br /> [[hooks|Пользовательские обработчики - hooks]]<br /> [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]]<br /> [[Пользователи]]<br /> [[Группы]]<br /> [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]]<br /> [[Как создать пользовательскую форму заявки]]<br /> [[Дополнительные параметры поиска|Дополнительные параметры поиска]]<br /> [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]]<br /> [[Перевод|Перевод контента на другие языки]]<br /> [[Параметры_приложения_apps.mlsparser]]<br /> [[Db.inc.php]]<br /> [[Центр_обновлений|Центр обновлений]]<br /> [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]]<br /> == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 9071fbb4ce434a8f5b368cf2954fafb6e17b087e 682 681 2018-05-17T06:18:55Z Kondin 1 сделал вывод разделов в виде таблицы wikitext text/x-wiki <br /> ==Техническая документация CMS Sitebill== [[Введение]]<br /> {| class="wikitable" |- | [[Приложение "Редактор форм"]] || '''основной инструмент для управления формами''' |- | [[Типы элементов форм]] || '''описание основных типов (кирпичиков) из которых составляются формы''' |- | [[Приложения]] || '''CMS Sitebill состоит из отдельных модулей, каждый модуль выполняет свою определенную функцию''' |- | [[Страницы]] || Описание процесса создания и редактирования текстовых страниц со статичным HTML кодом. |- | [[Меню]] || Для организации удобной навигации можно создавать элементы меню с перечнем пунктов и ссылками на разделы сайта. |- | [[Шаблон]] || Описана типовая структура всех шаблонов |- | [[Общие настройки]] || Перечень всех настроек CMS Sitebill с кратким описанием. |- | [[Связанные элементы]] || Описана техника создания связи выпадающих списков в форме подачи объявления. Например, можно добавить дополнительный справочник микрорайонов и настроить зависимость списка от выбранного города. |- | [[Установка новых шаблонов]] || Процесс установки нового шаблона |- | [[Парсинг_КЛАДР|Парсинг КЛАДР]] || Загрузка готовых справочников городов, районов, улиц из общедоступного источника КЛАДР. |- | [[Настройка_робокассы|Настройка робокассы]] || Платежный шлюз |- | [[Структура_разделов|Структура разделов]] || Определяет типы недвижимости на сайте, также применяется при выводе объявлений по категориям и удобно при построении структуры сайта. |- | [[Редактор_текста_CKEditor|Редактор текста CKEditor]] || Удобный визуальный редактор для форматирования текста, добавления картинок и прочих HTML элементов. |- | [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]] || |- | [[mail|Настройка отправки писем с сайта]] || Решение частых проблем возникающих при работе с почтовым сервером на хостинге. |- | [[hooks|Пользовательские обработчики - hooks]] || Способы перехвата системных функций и добавление своего поведения в них на уровне шаблона (не затирается при обновлении) |- | [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]] || |- | [[Пользователи]] || Управление учетными записями пользователей. |- | [[Группы]] || Разделение пользователей на группы. Каждой группе можно назначать определенные права доступа в панели управления и на сайте. |- | [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]] || Позволяет контроллировать ввод правильного номера телефона в соответствии с форматом. |- | [[Как создать пользовательскую форму заявки]] || Например, создать новую форму заявки на ипотеку или заявку на бесплатную консультацию. |- | [[Дополнительные параметры поиска|Дополнительные параметры поиска]] || Формирование своих поисковых запросов. Применяется в случае, если вы через редактор форм добавляли новые элементы и хотите включить их в процесс поиска. |- | [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]] || |- | [[Перевод|Перевод контента на другие языки]] || |- | [[Параметры_приложения_apps.mlsparser]] || |- | [[Db.inc.php]] || |- | [[Центр_обновлений|Центр обновлений]] || |- | [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]] || |} == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. eebbbb48790946831478ed631c03db45a344e706 683 682 2018-05-17T06:32:00Z Kondin 1 wikitext text/x-wiki <br /> ==Техническая документация CMS Sitebill== [[Введение]]<br /> {| class="wikitable" |- | [[Приложение "Редактор форм"]] || '''основной инструмент для управления формами''' |- | [[Типы элементов форм]] || '''описание основных типов (кирпичиков) из которых составляются формы''' |- | [[Приложения]] || '''CMS Sitebill состоит из отдельных модулей, каждый модуль выполняет свою определенную функцию''' |- | [[Страницы]] || Описание процесса создания и редактирования текстовых страниц со статичным HTML кодом. |- | [[Меню]] || Для организации удобной навигации можно создавать элементы меню с перечнем пунктов и ссылками на разделы сайта. |- | [[Шаблон]] || Описана типовая структура всех шаблонов |- | [[Общие настройки]] || Перечень всех настроек CMS Sitebill с кратким описанием. |- | [[Связанные элементы]] || Описана техника создания связи выпадающих списков в форме подачи объявления. Например, можно добавить дополнительный справочник микрорайонов и настроить зависимость списка от выбранного города. |- | [[Установка новых шаблонов]] || Процесс установки нового шаблона |- | [[Парсинг_КЛАДР|Парсинг КЛАДР]] || Загрузка готовых справочников городов, районов, улиц из общедоступного источника КЛАДР. |- | [[Настройка_робокассы|Настройка робокассы]] || Платежный шлюз |- | [[Структура_разделов|Структура разделов]] || Определяет типы недвижимости на сайте, также применяется при выводе объявлений по категориям и удобно при построении структуры сайта. |- | [[Редактор_текста_CKEditor|Редактор текста CKEditor]] || Удобный визуальный редактор для форматирования текста, добавления картинок и прочих HTML элементов. |- | [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]] || |- | [[mail|Настройка отправки писем с сайта]] || Решение частых проблем возникающих при работе с почтовым сервером на хостинге. |- | [[hooks|Пользовательские обработчики - hooks]] || Способы перехвата системных функций и добавление своего поведения в них на уровне шаблона (не затирается при обновлении) |- | [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]] || |- | [[Пользователи]] || Управление учетными записями пользователей. |- | [[Группы]] || Разделение пользователей на группы. Каждой группе можно назначать определенные права доступа в панели управления и на сайте. |- | [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]] || Позволяет контроллировать ввод правильного номера телефона в соответствии с форматом. |- | [[Как создать пользовательскую форму заявки]] || Например, создать новую форму заявки на ипотеку или заявку на бесплатную консультацию. |- | [[Дополнительные параметры поиска|Дополнительные параметры поиска]] || Формирование своих поисковых запросов. Применяется в случае, если вы через редактор форм добавляли новые элементы и хотите включить их в процесс поиска. |- | [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]] || |- | [[Перевод|Перевод контента на другие языки]] || |- | [[Параметры_приложения_apps.mlsparser]] || |- | [[Db.inc.php]] || |- | [[Центр_обновлений|Центр обновлений]] || |- | [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]] || |} ==Руководство программиста CMS Sitebill== {| class="wikitable" |- | [[Генератор списков (таблиц) ]] || Описание принципа генерации таблиц и способа кастомизации заголовков, колонок, элементов управления и т.д. |} == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 757b9de46d63dd650377af0b9f51ed954640e20d 687 683 2018-05-17T07:05:14Z Kondin 1 wikitext text/x-wiki <br /> ==Техническая документация CMS Sitebill== [[Введение]]<br /> {| class="wikitable" |- | [[Приложение "Редактор форм"]] || '''основной инструмент для управления формами''' |- | [[Типы элементов форм]] || '''описание основных типов (кирпичиков) из которых составляются формы''' |- | [[Приложения]] || '''CMS Sitebill состоит из отдельных модулей, каждый модуль выполняет свою определенную функцию''' |- | [[Страницы]] || Описание процесса создания и редактирования текстовых страниц со статичным HTML кодом. |- | [[Меню]] || Для организации удобной навигации можно создавать элементы меню с перечнем пунктов и ссылками на разделы сайта. |- | [[Шаблон]] || Описана типовая структура всех шаблонов |- | [[Общие настройки]] || Перечень всех настроек CMS Sitebill с кратким описанием. |- | [[Связанные элементы]] || Описана техника создания связи выпадающих списков в форме подачи объявления. Например, можно добавить дополнительный справочник микрорайонов и настроить зависимость списка от выбранного города. |- | [[Установка новых шаблонов]] || Процесс установки нового шаблона |- | [[Парсинг_КЛАДР|Парсинг КЛАДР]] || Загрузка готовых справочников городов, районов, улиц из общедоступного источника КЛАДР. |- | [[Настройка_робокассы|Настройка робокассы]] || Платежный шлюз |- | [[Структура_разделов|Структура разделов]] || Определяет типы недвижимости на сайте, также применяется при выводе объявлений по категориям и удобно при построении структуры сайта. |- | [[Редактор_текста_CKEditor|Редактор текста CKEditor]] || Удобный визуальный редактор для форматирования текста, добавления картинок и прочих HTML элементов. |- | [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]] || |- | [[mail|Настройка отправки писем с сайта]] || Решение частых проблем возникающих при работе с почтовым сервером на хостинге. |- | [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]] || |- | [[Пользователи]] || Управление учетными записями пользователей. |- | [[Группы]] || Разделение пользователей на группы. Каждой группе можно назначать определенные права доступа в панели управления и на сайте. |- | [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]] || Позволяет контроллировать ввод правильного номера телефона в соответствии с форматом. |- | [[Как создать пользовательскую форму заявки]] || Например, создать новую форму заявки на ипотеку или заявку на бесплатную консультацию. |- | [[Дополнительные параметры поиска|Дополнительные параметры поиска]] || Формирование своих поисковых запросов. Применяется в случае, если вы через редактор форм добавляли новые элементы и хотите включить их в процесс поиска. |- | [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]] || |- | [[Перевод|Перевод контента на другие языки]] || |- | [[Параметры_приложения_apps.mlsparser]] || |- | [[Db.inc.php]] || |- | [[Центр_обновлений|Центр обновлений]] || |- | [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]] || |} ==Руководство программиста CMS Sitebill== {| class="wikitable" |- | [[Генератор списков (таблиц) ]] || Описание принципа генерации таблиц и способа кастомизации заголовков, колонок, элементов управления и т.д. |- | [[hooks|Пользовательские обработчики - hooks]] || Способы перехвата системных функций и добавление своего поведения в них на уровне шаблона (не затирается при обновлении) |} == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. beb3db30bb1a2f825d55fc1cc6623a7451978263 Генератор списков (таблиц) 0 82 684 2018-05-17T06:39:31Z Kondin 1 Новая страница: «Генерация таблицы с помощью SQL-запроса <nowiki> require_once(SITEBILL_DOCUMENT_ROOT . '/apps/system/lib/system/view/grid.p…» wikitext text/x-wiki Генерация таблицы с помощью SQL-запроса <nowiki> require_once(SITEBILL_DOCUMENT_ROOT . '/apps/system/lib/system/view/grid.php'); $common_grid = new Common_Grid($this); //Создаем экземпляр класса для рендеринга вывода определенных элементов значений в таблице $reserved_object_id_renderer = new Reserved_OBJECT_ID_renderer; //Установка колонок таблицы $common_grid->add_grid_item($this->primary_key); $common_grid->add_grid_item('is_validated'); $common_grid->add_grid_item('start_date'); $common_grid->add_grid_item('end_date'); //Второй аргумент $reserved_object_id_renderer передает экземпляр класса, //отвечающего за генерацию оформления при выводе этого элемента в таблице //Второй аргумент не обязателен $common_grid->add_grid_item('object_id', $reserved_object_id_renderer); //Установка контрольных элементов //Просмотр записи $common_grid->add_grid_control('view'); //Редактирование $common_grid->add_grid_control('edit'); //Удаление $common_grid->add_grid_control('delete'); //устанавливаем параметры для пейджера $common_grid->setPagerParams(array('action' => $this->action, 'page' => $this->getRequestValue('page'), 'object_id' => $object_id, 'order' => $order, 'asc' => $asc, 'per_page' => $this->getConfigValue('common_per_page'))); //Устанавливаем запрос, с помощью которого мы получаем ассив значений для таблицы $common_grid->set_grid_query("select * from " . DB_PREFIX . "_" . $this->table_name . ' WHERE user_id=' . $user_id . ' order by ' . $order . ' ' . $asc); //Теперь в $rs содержиться сгенерированная таблица в виде строки $rs = $common_grid->construct_grid(); </nowiki> 6b0a60e02f34d16ff819abfa6052be1c342c89e2 685 684 2018-05-17T06:40:24Z Kondin 1 wikitext text/x-wiki Генерация таблицы с помощью SQL-запроса <pre> <nowiki> require_once(SITEBILL_DOCUMENT_ROOT . '/apps/system/lib/system/view/grid.php'); $common_grid = new Common_Grid($this); //Создаем экземпляр класса для рендеринга вывода определенных элементов значений в таблице $reserved_object_id_renderer = new Reserved_OBJECT_ID_renderer; //Установка колонок таблицы $common_grid->add_grid_item($this->primary_key); $common_grid->add_grid_item('is_validated'); $common_grid->add_grid_item('start_date'); $common_grid->add_grid_item('end_date'); //Второй аргумент $reserved_object_id_renderer передает экземпляр класса, //отвечающего за генерацию оформления при выводе этого элемента в таблице //Второй аргумент не обязателен $common_grid->add_grid_item('object_id', $reserved_object_id_renderer); //Установка контрольных элементов //Просмотр записи $common_grid->add_grid_control('view'); //Редактирование $common_grid->add_grid_control('edit'); //Удаление $common_grid->add_grid_control('delete'); //устанавливаем параметры для пейджера $common_grid->setPagerParams(array('action' => $this->action, 'page' => $this->getRequestValue('page'), 'object_id' => $object_id, 'order' => $order, 'asc' => $asc, 'per_page' => $this->getConfigValue('common_per_page'))); //Устанавливаем запрос, с помощью которого мы получаем ассив значений для таблицы $common_grid->set_grid_query("select * from " . DB_PREFIX . "_" . $this->table_name . ' WHERE user_id=' . $user_id . ' order by ' . $order . ' ' . $asc); //Теперь в $rs содержиться сгенерированная таблица в виде строки $rs = $common_grid->construct_grid(); </nowiki> </pre> 4f3b3defe6efb8aad60719bfceb5018eeaa8dbf3 686 685 2018-05-17T06:53:11Z Kondin 1 wikitext text/x-wiki Генерация таблицы с помощью SQL-запроса <pre> <nowiki> require_once(SITEBILL_DOCUMENT_ROOT . '/apps/system/lib/system/view/grid.php'); $common_grid = new Common_Grid($this); //Создаем экземпляр класса для рендеринга вывода определенных элементов значений в таблице $reserved_object_id_renderer = new Reserved_OBJECT_ID_renderer; //Установка колонок таблицы $common_grid->add_grid_item($this->primary_key); $common_grid->add_grid_item('is_validated'); $common_grid->add_grid_item('start_date'); $common_grid->add_grid_item('end_date'); //Второй аргумент $reserved_object_id_renderer передает экземпляр класса, //отвечающего за генерацию оформления при выводе этого элемента в таблице //Второй аргумент не обязателен $common_grid->add_grid_item('object_id', $reserved_object_id_renderer); //Установка контрольных элементов //Просмотр записи $common_grid->add_grid_control('view'); //Редактирование $common_grid->add_grid_control('edit'); //Удаление $common_grid->add_grid_control('delete'); //устанавливаем параметры для пейджера $common_grid->setPagerParams(array('action' => $this->action, 'page' => $this->getRequestValue('page'), 'object_id' => $object_id, 'order' => $order, 'asc' => $asc, 'per_page' => $this->getConfigValue('common_per_page'))); //Устанавливаем запрос, с помощью которого мы получаем ассив значений для таблицы $common_grid->set_grid_query("select * from " . DB_PREFIX . "_" . $this->table_name . ' WHERE user_id=' . $user_id . ' order by ' . $order . ' ' . $asc); //Теперь в $rs содержиться сгенерированная таблица в виде строки $rs = $common_grid->construct_grid(); </nowiki> </pre> Пример реализации рендерера <pre> <nowiki> class Reserved_OBJECT_ID_renderer implements grid_item_renderer { //на входе получаем значение обрабатываемой ячейки function fetch_template($params) { $rs = '<a href="'.SITEBILL_MAIN_URL.'/realty'.$params.'" target="_blank">номер '.$params.' </a>'; return $rs; } } </nowiki> </pre> 7ef7cc05b2d0d7fbdc4fa3df8e93eafa23977c9b 688 686 2018-05-17T09:06:13Z Kondin 1 wikitext text/x-wiki Генерация таблицы с помощью SQL-запроса<br /> Подключение шаблонизатора элементов происходит с помощью библиотеки <br /> '''require_once(SITEBILL_DOCUMENT_ROOT . '/apps/system/lib/system/view/grid_item_renderer.php'); ''' <pre> <nowiki> require_once(SITEBILL_DOCUMENT_ROOT . '/apps/system/lib/system/view/grid.php'); $common_grid = new Common_Grid($this); //Создаем экземпляр класса для рендеринга вывода определенных элементов значений в таблице $reserved_object_id_renderer = new Reserved_OBJECT_ID_renderer; //Установка колонок таблицы $common_grid->add_grid_item($this->primary_key); $common_grid->add_grid_item('is_validated'); $common_grid->add_grid_item('start_date'); $common_grid->add_grid_item('end_date'); //Второй аргумент $reserved_object_id_renderer передает экземпляр класса, //отвечающего за генерацию оформления при выводе этого элемента в таблице //Второй аргумент не обязателен $common_grid->add_grid_item('object_id', $reserved_object_id_renderer); //Установка контрольных элементов //Просмотр записи $common_grid->add_grid_control('view'); //Редактирование $common_grid->add_grid_control('edit'); //Удаление $common_grid->add_grid_control('delete'); //устанавливаем параметры для пейджера $common_grid->setPagerParams(array('action' => $this->action, 'page' => $this->getRequestValue('page'), 'object_id' => $object_id, 'order' => $order, 'asc' => $asc, 'per_page' => $this->getConfigValue('common_per_page'))); //Устанавливаем запрос, с помощью которого мы получаем ассив значений для таблицы $common_grid->set_grid_query("select * from " . DB_PREFIX . "_" . $this->table_name . ' WHERE user_id=' . $user_id . ' order by ' . $order . ' ' . $asc); //Теперь в $rs содержиться сгенерированная таблица в виде строки $rs = $common_grid->construct_grid(); </nowiki> </pre> Пример реализации рендерера <pre> <nowiki> class Reserved_OBJECT_ID_renderer implements grid_item_renderer { //на входе получаем значение обрабатываемой ячейки function fetch_template($params) { $rs = '<a href="'.SITEBILL_MAIN_URL.'/realty'.$params.'" target="_blank">номер '.$params.' </a>'; return $rs; } } </nowiki> </pre> 0356fff39d634dae2b825930eed3218a796accaa Приложение "Парсер ADS-API.RU" 0 83 692 2018-05-30T10:36:47Z Abushyk 2 Новая страница: «Парсер ADS-API.RU» wikitext text/x-wiki Парсер ADS-API.RU f636ce5d678875c2b06fcf165a7a0c712d9fad95 694 692 2018-05-30T10:38:58Z Abushyk 2 wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label|url|target_user</pre> label - метка задачи, которая используется при запуске парсинга url - адрес забора данных target_user - ID пользователя к которому будут прикреплены объекты 3e729177097610488863796d1f5bced653eb1da2 695 694 2018-05-30T10:39:21Z Abushyk 2 wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label|url|target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> 60adade6c39bca3c48edb5ee352a481f0cd964d1 696 695 2018-05-30T10:42:41Z Abushyk 2 wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label|url|target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. bdc37e98ecaed3741fcfd3e93508a07e73abe700 697 696 2018-07-04T19:09:14Z Abushyk 2 wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. 3fcd8a114377ef97d977e8758d668bf78bf31663 698 697 2018-07-04T19:09:38Z Abushyk 2 wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == c3aa8155685dd276d932e72c067e8418a75c127d 699 698 2018-07-04T19:49:19Z Abushyk 2 /* Настройка */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. Количество комнат в квартире или доме - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. Этаж - системное имя поля для хранения значения. Этажность - системное имя поля для хранения значения. Координаты - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata Уникальный ID - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. Цена аренды - системное имя поля для хранения значения цены для сдаваемых объектов. Цена продажи - системное имя поля для хранения значения цены для продаваемых объектов. Валюта цен - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи) - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. Жилая площадь, Площадь кухни - системные имена полей под хранение соответствующих значений Площадь участка (отдельного) - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. Площадь участка (при доме) - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. Описание, Заголовок - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. Полный адрес - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. Номер телефона, Имя контактного лица - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. Название источника - системное имя поля для хранения строки с названием источника. 708e482a4cfcc5a37e367beca0c3b2a421212cb6 700 699 2018-07-04T20:51:40Z Abushyk 2 /* Настройка */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. Количество комнат в квартире или доме - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. Этаж - системное имя поля для хранения значения. Этажность - системное имя поля для хранения значения. Координаты - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata Уникальный ID - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. Цена аренды - системное имя поля для хранения значения цены для сдаваемых объектов. Цена продажи - системное имя поля для хранения значения цены для продаваемых объектов. Валюта цен - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи) - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. Жилая площадь, Площадь кухни - системные имена полей под хранение соответствующих значений Площадь участка (отдельного) - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. Площадь участка (при доме) - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. Описание, Заголовок - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. Полный адрес - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. Номер телефона, Имя контактного лица - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. Название источника - системное имя поля для хранения строки с названием источника. === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> 8a441a547c88712733dadc53c16739439fe0fe47 701 700 2018-07-04T21:17:02Z Abushyk 2 /* Распределение по типам и контракту */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. Количество комнат в квартире или доме - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. Этаж - системное имя поля для хранения значения. Этажность - системное имя поля для хранения значения. Координаты - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata Уникальный ID - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. Цена аренды - системное имя поля для хранения значения цены для сдаваемых объектов. Цена продажи - системное имя поля для хранения значения цены для продаваемых объектов. Валюта цен - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи) - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. Жилая площадь, Площадь кухни - системные имена полей под хранение соответствующих значений Площадь участка (отдельного) - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. Площадь участка (при доме) - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. Описание, Заголовок - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. Полный адрес - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. Номер телефона, Имя контактного лица - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. Название источника - системное имя поля для хранения строки с названием источника. === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Квартиры (33) Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> c6e60d1c8b095d030d3e50c97853f01b438725b8 702 701 2018-07-04T21:17:32Z Abushyk 2 /* Распределение по типам и контракту */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. Количество комнат в квартире или доме - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. Этаж - системное имя поля для хранения значения. Этажность - системное имя поля для хранения значения. Координаты - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata Уникальный ID - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. Цена аренды - системное имя поля для хранения значения цены для сдаваемых объектов. Цена продажи - системное имя поля для хранения значения цены для продаваемых объектов. Валюта цен - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи) - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. Жилая площадь, Площадь кухни - системные имена полей под хранение соответствующих значений Площадь участка (отдельного) - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. Площадь участка (при доме) - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. Описание, Заголовок - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. Полный адрес - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. Номер телефона, Имя контактного лица - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. Название источника - системное имя поля для хранения строки с названием источника. === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> 203f871811aa8c53a902cf340de52f6864928bc5 703 702 2018-07-04T21:38:13Z Abushyk 2 /* Распределение по типам и контракту */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. Количество комнат в квартире или доме - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. Этаж - системное имя поля для хранения значения. Этажность - системное имя поля для хранения значения. Координаты - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata Уникальный ID - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. Цена аренды - системное имя поля для хранения значения цены для сдаваемых объектов. Цена продажи - системное имя поля для хранения значения цены для продаваемых объектов. Валюта цен - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи) - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. Жилая площадь, Площадь кухни - системные имена полей под хранение соответствующих значений Площадь участка (отдельного) - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. Площадь участка (при доме) - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. Описание, Заголовок - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. Полный адрес - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. Номер телефона, Имя контактного лица - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. Название источника - системное имя поля для хранения строки с названием источника. === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> ecf8f3446d414e744e8ceb2e2e7d5999794ea548 704 703 2018-07-04T21:48:22Z Abushyk 2 /* Распределение по типам и контракту */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. Количество комнат в квартире или доме - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. Этаж - системное имя поля для хранения значения. Этажность - системное имя поля для хранения значения. Координаты - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata Уникальный ID - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. Цена аренды - системное имя поля для хранения значения цены для сдаваемых объектов. Цена продажи - системное имя поля для хранения значения цены для продаваемых объектов. Валюта цен - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи) - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. Жилая площадь, Площадь кухни - системные имена полей под хранение соответствующих значений Площадь участка (отдельного) - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. Площадь участка (при доме) - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. Описание, Заголовок - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. Полный адрес - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. Номер телефона, Имя контактного лица - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. Название источника - системное имя поля для хранения строки с названием источника. === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. a7b39303f912e2fa7f3d1791181390dddc41e42f Приложение "Парсер ADS-API.RU" 0 83 705 704 2018-07-04T21:49:15Z Abushyk 2 /* Настройка */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. Количество комнат в квартире или доме - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. Цена аренды - системное имя поля для хранения значения цены для сдаваемых объектов. Цена продажи - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. Жилая площадь, Площадь кухни - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. ''' Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. 577fc2a56e6128cc0c5311596a4595436b366e67 706 705 2018-07-04T21:52:06Z Abushyk 2 /* Настройка */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. Цена аренды - системное имя поля для хранения значения цены для сдаваемых объектов. Цена продажи - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. Жилая площадь, Площадь кухни - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. ''' Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Важно! Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранеие комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. 045ae1048475e8655fb2847f293873281c399ced 707 706 2018-07-04T21:52:31Z Abushyk 2 /* Распределение по типам и контракту */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. Цена аренды - системное имя поля для хранения значения цены для сдаваемых объектов. Цена продажи - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. Жилая площадь, Площадь кухни - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. ''' Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. ebe76593774577ab390587404568ec6d3bc6d7cd 708 707 2018-07-04T21:52:46Z Abushyk 2 /* Настройка */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. Цена аренды - системное имя поля для хранения значения цены для сдаваемых объектов. Цена продажи - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. Жилая площадь, Площадь кухни - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. ''' Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. Важно! Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранеие комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. 43f74ecc69f61c4b5965894e06bb4b64aef87b4f 709 708 2018-07-04T21:57:28Z Abushyk 2 /* Настройка */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. 2890e2bf1d424f6a3878dbf676fd91b34b00efb5 710 709 2018-07-04T22:19:40Z Abushyk 2 /* Настройка */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> 6bda2fa55eaf087e190f3c56213c31e40574d963 711 710 2018-07-04T22:20:35Z Abushyk 2 /* Настройка */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === ммм 6dd379a98ce17e45ca37751673923cbe19cfef10 712 711 2018-07-04T23:02:53Z Abushyk 2 /* Adsapiruparser_Resolver */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 65e54990e04fb6334e4bf4d0098bd86a9ca4c376 713 712 2018-07-04T23:04:17Z Abushyk 2 wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Требования== == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 1c719e7dc66033049ee402f0bb357be0103e5fa3 714 713 2018-07-04T23:06:54Z Abushyk 2 /* Требования */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Требования== Модель объекта должна иметь среди своих свойств следующие: - feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника - поле для хранения уникального ID с источника Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 7e3530708288bf0e186f9dedbdabb87687864b20 715 714 2018-07-04T23:07:05Z Abushyk 2 /* Требования */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Требования== Модель объекта должна иметь среди своих свойств следующие: - feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника - поле для хранения уникального ID с источника Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 4101b0b363a8400d56a235c35c6736e23ef85898 716 715 2018-07-12T20:43:43Z Abushyk 2 /* Требования */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. bbe54fc5058f7ae676d01f416342c2c2ce8e4a6e 717 716 2018-07-12T21:16:45Z Abushyk 2 /* Требования */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 8ebd428a14d2fa75a38be3d1622ce99463be0341 718 717 2018-07-12T21:26:23Z Abushyk 2 wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> == Общая информация == Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. cd6b87714a351fc6cd5526d812b42af5f73949a5 719 718 2018-07-12T21:26:48Z Abushyk 2 /* Общая информация */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> == Общая информация == Уникальность объектов сверяется по <s>паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга)</s>. Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях. == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 5a6fce2ed1b83d438edf3e2c5f06b06508c73f8e 720 719 2018-07-12T21:37:41Z Abushyk 2 wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> == Общая информация == Уникальность объектов сверяется по <s>паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга)</s> уникальному ID. <s>Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях.</s> Вы можете передавать загруженные объекты другому пользователю, но если не удалите значение уникального ID и признак загрузки из ADS-API.RU, то объект будет оставаться синхронизированным с выгрузкой. == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Настройка == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 4a6e86cb8100cd065c355978b6d657017d73d187 721 720 2018-07-12T21:38:04Z Abushyk 2 /* Настройка */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> == Общая информация == Уникальность объектов сверяется по <s>паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга)</s> уникальному ID. <s>Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях.</s> Вы можете передавать загруженные объекты другому пользователю, но если не удалите значение уникального ID и признак загрузки из ADS-API.RU, то объект будет оставаться синхронизированным с выгрузкой. == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Настройка маппинга == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 030ff736bb07517131dd3864e00eb84bff0e0fc6 722 721 2018-07-12T21:44:01Z Abushyk 2 /* Требования */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> == Общая информация == Уникальность объектов сверяется по <s>паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга)</s> уникальному ID. <s>Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях.</s> Вы можете передавать загруженные объекты другому пользователю, но если не удалите значение уникального ID и признак загрузки из ADS-API.RU, то объект будет оставаться синхронизированным с выгрузкой. == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Настройки == == Настройка маппинга == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 31559bc9372b163e08ccb2ad92084928b1f9e796 723 722 2018-07-12T22:31:28Z Abushyk 2 /* Настройки */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> == Общая информация == Уникальность объектов сверяется по <s>паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга)</s> уникальному ID. <s>Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях.</s> Вы можете передавать загруженные объекты другому пользователю, но если не удалите значение уникального ID и признак загрузки из ADS-API.RU, то объект будет оставаться синхронизированным с выгрузкой. == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Настройки == Список источников (apps.adsapiruparser.sources) - список программ загрузки Ограничение на количество фото (apps.adsapiruparser.imglimit) - число указывающее какое количество изображений забирать из фида для каждого объекта. Установка 0 или "пусто" указывает забирать все изображения Не загружать без фото (apps.adsapiruparser.withphotoonly) - указывает следует ли забирать объекты, для которых в фиде отсутствует информация о фотографиях Сохранять историю загруженных (apps.adsapiruparser.store_parsing_story) - при включенной настройке уникальные ID будут записываться в специальную таблицу. Вследствии этого, если вы удалите объект, то он не добавится обратно при следующем запуске парсера, если он еще будет находиться в фиде. Устанавливать дату добавления из фида (apps.adsapiruparser.setfeeddate) - устанавливает поле Дата добавления не в текущее время, а в значение даты из данных фида. Проверять на наличие похожих объектов (apps.adsapiruparser.filter_doubles) - подключает стандартную проверку объекта объявления на наличие похожих объектов Системное имя поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_name) Значение поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_value) Автоочистка параллельно с парсингом (apps.adsapiruparser.autoclear) - включение этой настройки запускает стандартный уборщик устаревших объектов при каждом запуске парсинга Количество дней, через которое объект будет считаться старым (apps.adsapiruparser.oldage) - числовое количество дней, про истечении которых от "Даты добавления" объект будет считаться старым и подлежащим уборке. Указание 0 или "пусто" отключает проверку на старость. == Настройка маппинга == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 3727eeb06855fa38b704e02c3f80383d10ac4cde 724 723 2018-07-13T07:59:39Z Abushyk 2 wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> == Общая информация == Уникальность объектов сверяется по <s>паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга)</s> уникальному ID. <s>Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях.</s> Вы можете передавать загруженные объекты другому пользователю, но если не удалите значение уникального ID и признак загрузки из ADS-API.RU, то объект будет оставаться синхронизированным с выгрузкой. По умолчанию парсер работает в режиме "загрузка" - он находит новые объекты в источнике и размещает их в базе. При нахождении объекта, который уже есть базе, парсер игнорирует его. Для того, что бы такие объекты сихронизировались с источником необходимо включить настройку "Обновлять объекты (apps.adsapiruparser.update_advs)". == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Настройки == Список источников (apps.adsapiruparser.sources) - список программ загрузки Ограничение на количество фото (apps.adsapiruparser.imglimit) - число указывающее какое количество изображений забирать из фида для каждого объекта. Установка 0 или "пусто" указывает забирать все изображения Не загружать без фото (apps.adsapiruparser.withphotoonly) - указывает следует ли забирать объекты, для которых в фиде отсутствует информация о фотографиях Сохранять историю загруженных (apps.adsapiruparser.store_parsing_story) - при включенной настройке уникальные ID будут записываться в специальную таблицу. Вследствии этого, если вы удалите объект, то он не добавится обратно при следующем запуске парсера, если он еще будет находиться в фиде. Устанавливать дату добавления из фида (apps.adsapiruparser.setfeeddate) - устанавливает поле Дата добавления не в текущее время, а в значение даты из данных фида. Проверять на наличие похожих объектов (apps.adsapiruparser.filter_doubles) - подключает стандартную проверку объекта объявления на наличие похожих объектов Системное имя поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_name) Значение поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_value) Автоочистка параллельно с парсингом (apps.adsapiruparser.autoclear) - включение этой настройки запускает стандартный уборщик устаревших объектов при каждом запуске парсинга Количество дней, через которое объект будет считаться старым (apps.adsapiruparser.oldage) - числовое количество дней, про истечении которых от "Даты добавления" объект будет считаться старым и подлежащим уборке. Указание 0 или "пусто" отключает проверку на старость. == Настройка маппинга == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 9e6b58da5693563345d681a7036011ded99877a1 725 724 2018-07-13T08:03:50Z Abushyk 2 wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> == Общая информация == Уникальность объектов сверяется по <s>паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга)</s> уникальному ID. <s>Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях.</s> Вы можете передавать загруженные объекты другому пользователю, но если не удалите значение уникального ID и признак загрузки из ADS-API.RU, то объект будет оставаться синхронизированным с выгрузкой. По умолчанию парсер работает в режиме "загрузка" - он находит новые объекты в источнике и размещает их в базе. При нахождении объекта, который уже есть базе, парсер игнорирует его. Для того, что бы такие объекты сихронизировались с источником необходимо включить настройку "Обновлять объекты (apps.adsapiruparser.update_advs)". == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Настройки == '''Список источников (apps.adsapiruparser.sources)''' - список программ загрузки<br /> '''Ограничение на количество фото (apps.adsapiruparser.imglimit)''' - число указывающее какое количество изображений забирать из фида для каждого объекта. Установка 0 или "пусто" указывает забирать все изображения<br /> '''Не загружать без фото (apps.adsapiruparser.withphotoonly)''' - указывает следует ли забирать объекты, для которых в фиде отсутствует информация о фотографиях<br /> '''Сохранять историю загруженных (apps.adsapiruparser.store_parsing_story)''' - при включенной настройке уникальные ID будут записываться в специальную таблицу. Вследствии этого, если вы удалите объект, то он не добавится обратно при следующем запуске парсера, если он еще будет находиться в фиде.<br /> '''Устанавливать дату добавления из фида (apps.adsapiruparser.setfeeddate)''' - устанавливает поле Дата добавления не в текущее время, а в значение даты из данных фида.<br /> '''Проверять на наличие похожих объектов (apps.adsapiruparser.filter_doubles)''' - подключает стандартную проверку объекта объявления на наличие похожих объектов<br /> '''Системное имя поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_name)'''<br /> '''Значение поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_value)'''<br /> '''Автоочистка параллельно с парсингом (apps.adsapiruparser.autoclear)''' - включение этой настройки запускает стандартный уборщик устаревших объектов при каждом запуске парсинга<br /> '''Количество дней, через которое объект будет считаться старым (apps.adsapiruparser.oldage)''' - числовое количество дней, про истечении которых от "Даты добавления" объект будет считаться старым и подлежащим уборке. Указание 0 или "пусто" отключает проверку на старость.<br /> '''Обновлять объекты (apps.adsapiruparser.update_advs)''' - настройка указывает следует ли синхронизировать уже загруженные объекты с данными этих объектов в источнике. При включении этого опции в объекта на сайте будут обновлены все данные, кроме активности и владельца объекта на сайте. Так же будут обновлены все данные, измененные после загрузки объекта. Поэтому если вы модерируете и облагораживаете объекты пришедшие с источника, то не используйте эту опцию. == Настройка маппинга == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 6bb798bcfa93477e19eefee3836f768025ec1c99 726 725 2018-07-13T08:06:31Z Abushyk 2 /* Настройки */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> == Общая информация == Уникальность объектов сверяется по <s>паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга)</s> уникальному ID. <s>Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях.</s> Вы можете передавать загруженные объекты другому пользователю, но если не удалите значение уникального ID и признак загрузки из ADS-API.RU, то объект будет оставаться синхронизированным с выгрузкой. По умолчанию парсер работает в режиме "загрузка" - он находит новые объекты в источнике и размещает их в базе. При нахождении объекта, который уже есть базе, парсер игнорирует его. Для того, что бы такие объекты сихронизировались с источником необходимо включить настройку "Обновлять объекты (apps.adsapiruparser.update_advs)". == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Настройки == '''Список источников (apps.adsapiruparser.sources)''' - список программ загрузки<br /> '''Ограничение на количество фото (apps.adsapiruparser.imglimit)''' - число указывающее какое количество изображений забирать из фида для каждого объекта. Установка 0 или "пусто" указывает забирать все изображения<br /> '''Не загружать без фото (apps.adsapiruparser.withphotoonly)''' - указывает следует ли забирать объекты, для которых в фиде отсутствует информация о фотографиях<br /> '''Сохранять историю загруженных (apps.adsapiruparser.store_parsing_story)''' - при включенной настройке уникальные ID будут записываться в специальную таблицу. Вследствии этого, если вы удалите объект, то он не добавится обратно при следующем запуске парсера, если он еще будет находиться в фиде.<br /> '''Устанавливать дату добавления из фида (apps.adsapiruparser.setfeeddate)''' - устанавливает поле Дата добавления не в текущее время, а в значение даты из данных фида.<br /> '''Проверять на наличие похожих объектов (apps.adsapiruparser.filter_doubles)''' - подключает стандартную проверку объекта объявления на наличие похожих объектов<br /> '''Системное имя поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_name)'''<br /> '''Значение поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_value)'''<br /> '''Автоочистка параллельно с парсингом (apps.adsapiruparser.autoclear)''' - включение этой настройки запускает стандартный уборщик устаревших объектов при каждом запуске парсинга<br /> '''Количество дней, через которое объект будет считаться старым (apps.adsapiruparser.oldage)''' - числовое количество дней, про истечении которых от "Даты добавления" объект будет считаться старым и подлежащим уборке. Указание 0 или "пусто" отключает проверку на старость.<br /> '''Обновлять объекты (apps.adsapiruparser.update_advs)''' - настройка указывает следует ли синхронизировать уже загруженные объекты с данными этих объектов в источнике. При включении этой опции, в объекте на сайте будут обновлены все данные, кроме активности и владельца объекта на сайте (значение поля user_id). Так же будут обновлены все данные, измененные после загрузки объекта. Поэтому, если вы модерируете и облагораживаете объекты пришедшие с источника, не используйте эту опцию. Данная опция идеально подходит для полной синхронизации базы с источником, когда все данные остаются в виде предоставляемом ADS-API.RU и Вы лишь распределяете объеты между агентами на сайте и управляете их активностью. == Настройка маппинга == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 4aba3be3ca1eef4bef3f81aea1f68e045bcbdae4 Приложение "Выгрузка Realestate.ru" 0 84 727 2018-07-30T11:07:01Z Abushyk 2 Новая страница: «Выгрузка Realestate.ru» wikitext text/x-wiki Выгрузка Realestate.ru af16a3515b1b6848537e91b2d6811513cffcc3bb 728 727 2018-07-30T11:08:33Z Abushyk 2 Abushyk переименовал страницу [[Выгрузка Realestate.ru]] в [[Приложение "Выгрузка Realestate.ru"]] wikitext text/x-wiki Выгрузка Realestate.ru af16a3515b1b6848537e91b2d6811513cffcc3bb 732 728 2018-07-30T11:10:49Z Abushyk 2 wikitext text/x-wiki Выгрузка Realestate.ru === Установка типов локационных объектов === Для успешной выгрузки необходимо указывать не тоотко название района или населенного пункта для объектов находящихся в Московской области и Новой Москве, но и их тип. 7401aa453c014fb09728d2ce0d78fc945af1424f 733 732 2018-07-30T11:13:33Z Abushyk 2 /* Установка типов локационных объектов */ wikitext text/x-wiki Выгрузка Realestate.ru === Установка типов локационных объектов === Для успешной выгрузки необходимо указывать не только название района или населенного пункта для объектов находящихся в Московской области и Новой Москве, но и их тип. Названия этих локаций берутся из поля, указанного в настройке Маппера "Город/деревня/поселок для объектов МО и Новой Москвы", где необходимо указать системное имя поля в модели data, которое содержит название локации. Это могут быть поля типа safe_string или select_by_query. Для указания типа локации существует два пути: 1. Указание общего для всех значения. Если Вы уверены, что все локации имеют один тип, вы можете установить его в настройке Маппера "Тип НП области" 4848fbfee58e9e1665b4519e602f9ec999389de3 734 733 2018-07-30T11:36:01Z Abushyk 2 /* Установка типов локационных объектов */ wikitext text/x-wiki Выгрузка Realestate.ru === Установка типов локационных объектов === Для успешной выгрузки необходимо указывать не только название района или населенного пункта для объектов находящихся в Московской области и Новой Москве, но и их тип. Названия этих локаций берутся из поля, указанного в настройке Маппера "Город/деревня/поселок для объектов МО и Новой Москвы", где необходимо указать системное имя поля в модели data, которое содержит название локации. Это могут быть поля типа safe_string или select_by_query. Для указания типа локации существует два пути: 1. Указание общего для всех значения. Если Вы уверены, что все локации имеют один тип, вы можете установить его в настройке Маппера "Тип НП области". В этом случае попытка определять тип не будет предприниматься и всем локациям будет установлен указанный. Эта настрока перекрывает любые другие. Поэтому устанавливайте ее если это применимо в контексте наличествующей информации (иного пути определить тип конкретной локации нет, или оно не является необходимым в силу однотипности локаций) 2. Указание условий. Применимо только к полям типа select_by_query, когда локация для объекта указана в виде элемента выбора локации из выпадающего списка. В таком случае вы можете расширить модель объекта ваших локаций дополнительным свойством с типом локации либо сделать это директивно посредством phpMyAdmin. Например локации размещены в таблице re_naselennie_punkti и обслуживаются моделью в редакторе форм с именем naselennie_punkti. У этой модели будут свойства ID, свойство имени name. Вы добавляете еще одно свойство с именем nptype. Тип этого свойства произвольный. Скорее всего это будет select_box с вариантами выбора {0~~не выбрано}{1~~город}{2~~село}... 841ffcade00b98fbc0e629d3183525b1e8493253 735 734 2018-07-30T12:31:05Z Abushyk 2 wikitext text/x-wiki Выгрузка Realestate.ru === Установка типов локационных объектов === Для успешной выгрузки необходимо указывать не только название района или населенного пункта для объектов находящихся в Московской области и Новой Москве, но и их тип. Названия этих локаций берутся из поля, указанного в настройке Маппера "Город/деревня/поселок для объектов МО и Новой Москвы", где необходимо указать системное имя поля в модели data, которое содержит название локации. Это могут быть поля типа safe_string или select_by_query. Для указания типа локации существует два пути: 1. Указание общего для всех значения. Если Вы уверены, что все локации имеют один тип, вы можете установить его в настройке Маппера "Тип НП области". В этом случае попытка определять тип не будет предприниматься и всем локациям будет установлен указанный. Эта настрока перекрывает любые другие. Поэтому устанавливайте ее если это применимо в контексте наличествующей информации (иного пути определить тип конкретной локации нет, или оно не является необходимым в силу однотипности локаций) 2. Указание условий. Применимо только к полям типа select_by_query, когда локация для объекта указана в виде элемента выбора локации из выпадающего списка. В таком случае вы можете расширить модель объекта ваших локаций дополнительным свойством с типом локации либо сделать это директивно посредством phpMyAdmin. Например локации размещены в таблице re_naselennie_punkti и обслуживаются моделью в редакторе форм с именем naselennie_punkti. У этой модели будут свойства ID, свойство имени name. Вы добавляете еще одно свойство с именем nptype. Тип этого свойства произвольный. Скорее всего это будет select_box с вариантами выбора {0~~не выбрано}{1~~город}{2~~село}... Теперь в следующих полях Вы можете указать соответствия значений этого поля типам объектов для выгрузки. Например для указания того, что это "город" в настройку "Тип "город" " указываем значение "1". 2383bdfaeba94ca4309979d73497f84d0139d9f4 Выгрузка Realestate.ru 0 85 729 2018-07-30T11:08:33Z Abushyk 2 Abushyk переименовал страницу [[Выгрузка Realestate.ru]] в [[Приложение "Выгрузка Realestate.ru"]] wikitext text/x-wiki #перенаправление [[Приложение "Выгрузка Realestate.ru"]] 1ab2b6879a14f2f289a046975077a34799f24b04 Приложения 0 6 730 693 2018-07-30T11:09:05Z Abushyk 2 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]] [[Приложение "Выгрузка Realestate.ru"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> [[Приложение "Парсер ADS-API.RU"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) fa1266e30ee0768b87afaa9a84fa124b6dfef9f7 731 730 2018-07-30T11:09:19Z Abushyk 2 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]]<br /> [[Приложение "Выгрузка Realestate.ru"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> [[Приложение "Парсер ADS-API.RU"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 0212ebbf7c3991ef19124f373b40538de469ff22 Как создать пользовательскую форму заявки 0 35 736 622 2018-09-19T05:18:08Z Kondin 1 wikitext text/x-wiki Необходимо создать пользовательскую форму заявки для того, что бы пользователь мог передать некоторые данные на обработку администратору. '''Ингридиенты:'''<br /> приложение Клиенты (версия 1.0.1)<br /> приложение Статические страницы (версия 1.1.1)<br /> 1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet.<br /><br /> 2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно.<br /><br /> 3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей.<br /><br /> 4. Для формы заявки есть три служебных поля. Это:<br /> fio (Ваше имя) - safe_string поле<br /> email (Email) - safe_string поле<br /> phone (телефон) - safe_string поле<br /> Эти поля нужны для ведения учета заявок, поэтому даже если вы не зададите их сами в своей модели заявки, они будут добавлены автоматически.<br /><br /> 5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок.<br /> Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на расчет}<br /><br /> 6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где<br /> client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент raschet - имя модели вашей формы заявки<br /> Вывод в браузер будет содержать только форму заявки.<br /><br /> 7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделивашейформы, т.е. в данном случае client_order_raschet.tpl<br /> Этот файл должен содержать, в обязательном порядке,<br /> <pre> {$form} </pre> Все остальное на ваше усмотрение. Например: <pre> <h1>Тут мой заголовок к заявке</h1> <p>Тут какой-то текст перед формой</p> {literal} <script type="text/javascript" > alert('Даже можно JS-код вставлять свой!'); </script> {/literal} {$form} <hr /> <p>Тут какой-то текст под горизонталью под формой</p> </pre> <br /> 8. Добавляем мета-информацию.<br /> Для присоединения к вашей форме некоторой мета-информации используем приложение Статические страницы. Создаем статическую страницу с полем URI client_order_имямоделивашейформы или же client_order_raschet<br /> Для этой страницы указываем ту мета-информацию, которую хотим увидеть вместе с нашей формой заявки и сохраняем. <br> <br> '''Видео-урок по этой теме https://www.youtube.com/watch?v=8kv9LRu_oAw ''' <br> 9. Данная инструкция позволяет менять внешнее оформление формы, но не затрагивает внутренние элементы самой формы. Если вам нужно переделать и саму форму, тогда смотрите данную инструкцию [[Создание своих шаблонов для форм]]<br> <br> 10. Для формирование вывода списка элементов на сайте со своими шаблонами инструкция на форуме https://www.sitebill.ru/s/topic/3230-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8%D0%B7-%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B0/?do=findComment&comment=37257 8ee94a1a38b5f1c70b425818d60276c181a76adf Hooks 0 73 737 605 2018-10-01T04:53:51Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> Функция '''BeforPrintOptionName_getCategorySelectBoxWithName''' будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> '''onGridConditionsPrepare_hook''' - вызывается во время формирования условий для выборки данных.<br> Пример использования: исключаем из вывода в личном кабинете apps.data объявления принадлежащие пользователю с user_id=888 <pre> <nowiki> function onGridConditionsPrepare_hook($context, $params) { if ( $context->table_name == 'data' ) { $params['grid_conditions_sql'][] = "user_id <> 888"; } return $params; } </nowiki> </pre> '''BeforeDuplicate''' - вызывается перед созданием дубля объявления.<br> Пример использования: если lot_number является уникальным ключом, то при дублировании мы добавляем к нему числовой идентификатор, чтобы сохранить уникальность ключа для новой записи.<br> <pre> <nowiki> /** * Функция может менять значения в массиве перед созданием нового дубля */ function BeforeDuplicate( $form_data ) { foreach ($form_data as $k => $item) { if ($item['name'] == 'lot_number') { $form_data[$k]['value'] .= '-' . time(); } } return $form_data; } </nowiki> </pre> '''custom_admin_search_fields''' - Добавляем новый параметр поиска в форму расширенного поиска в админке в объявлениях.<br> <pre> <nowiki> function custom_admin_search_fields ( $smarty ) { return '<tr><td>Мое поле</td><td> <input type="text" name="moe_pole" id="moe_pole" value="'.$_REQUEST['moe_pole'].'" /></td></tr>'; } </nowiki> </pre> Этот параметр затем можно добавлять в поиск с помощью template_search.php https://www.sitebill.ru/s/topic/241-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8F-%D0%B2-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA-template_search-%D0%B8-%D0%B4%D1%80/ <br> '''BeforePrintGridItem''' - выполняет обработку массива данных строки записи перед выводом в таблицу<br> В данном примере функция принимает массив текущей строки данных $row_data и выполняет проверку идентификатора владельца этого объявления с идентификатором пользователя из сессии, если они различаются, тогда заменяется значение поля телефон (phone) на "скрыт". Т.е. реализуется логика скрытия контактов собственников от всех кроме владельца объявления. <pre> <nowiki> function BeforePrintGridItem ( $row_data, $control_params ) { if ( $row_data['user_id']['value'] != $_SESSION['user_id_value'] ) { $row_data['phone']['value'] = 'скрыт'; } return $row_data; } </nowiki> </pre> 0e65b6c1eb32cfe128ec6a4dd0acf5b7c1d674b2 Заглавная страница 0 1 738 687 2018-10-30T09:02:57Z Kondin 1 wikitext text/x-wiki <br /> [[Приложение "Редактор форм"]] || '''основной инструмент для управления формами''' ==Техническая документация CMS Sitebill== [[Введение]]<br /> {| class="wikitable" |- | [[Приложение "Редактор форм"]] || '''основной инструмент для управления формами''' |- | [[Типы элементов форм]] || '''описание основных типов (кирпичиков) из которых составляются формы''' |- | [[Приложения]] || '''CMS Sitebill состоит из отдельных модулей, каждый модуль выполняет свою определенную функцию''' |- | [[Страницы]] || Описание процесса создания и редактирования текстовых страниц со статичным HTML кодом. |- | [[Меню]] || Для организации удобной навигации можно создавать элементы меню с перечнем пунктов и ссылками на разделы сайта. |- | [[Шаблон]] || Описана типовая структура всех шаблонов |- | [[Общие настройки]] || Перечень всех настроек CMS Sitebill с кратким описанием. |- | [[Связанные элементы]] || Описана техника создания связи выпадающих списков в форме подачи объявления. Например, можно добавить дополнительный справочник микрорайонов и настроить зависимость списка от выбранного города. |- | [[Установка новых шаблонов]] || Процесс установки нового шаблона |- | [[Парсинг_КЛАДР|Парсинг КЛАДР]] || Загрузка готовых справочников городов, районов, улиц из общедоступного источника КЛАДР. |- | [[Настройка_робокассы|Настройка робокассы]] || Платежный шлюз |- | [[Структура_разделов|Структура разделов]] || Определяет типы недвижимости на сайте, также применяется при выводе объявлений по категориям и удобно при построении структуры сайта. |- | [[Редактор_текста_CKEditor|Редактор текста CKEditor]] || Удобный визуальный редактор для форматирования текста, добавления картинок и прочих HTML элементов. |- | [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]] || |- | [[mail|Настройка отправки писем с сайта]] || Решение частых проблем возникающих при работе с почтовым сервером на хостинге. |- | [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]] || |- | [[Пользователи]] || Управление учетными записями пользователей. |- | [[Группы]] || Разделение пользователей на группы. Каждой группе можно назначать определенные права доступа в панели управления и на сайте. |- | [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]] || Позволяет контроллировать ввод правильного номера телефона в соответствии с форматом. |- | [[Как создать пользовательскую форму заявки]] || Например, создать новую форму заявки на ипотеку или заявку на бесплатную консультацию. |- | [[Дополнительные параметры поиска|Дополнительные параметры поиска]] || Формирование своих поисковых запросов. Применяется в случае, если вы через редактор форм добавляли новые элементы и хотите включить их в процесс поиска. |- | [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]] || |- | [[Перевод|Перевод контента на другие языки]] || |- | [[Параметры_приложения_apps.mlsparser]] || |- | [[Db.inc.php]] || |- | [[Центр_обновлений|Центр обновлений]] || |- | [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]] || |} ==Руководство программиста CMS Sitebill== {| class="wikitable" |- | [[Генератор списков (таблиц) ]] || Описание принципа генерации таблиц и способа кастомизации заголовков, колонок, элементов управления и т.д. |- | [[hooks|Пользовательские обработчики - hooks]] || Способы перехвата системных функций и добавление своего поведения в них на уровне шаблона (не затирается при обновлении) |} == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. f10ebabfed2591ec4b981776eebbca46d0254b6f 739 738 2018-10-30T09:03:32Z Kondin 1 wikitext text/x-wiki <br /> [[FAQ]] ==Техническая документация CMS Sitebill== [[Введение]]<br /> {| class="wikitable" |- | [[Приложение "Редактор форм"]] || '''основной инструмент для управления формами''' |- | [[Типы элементов форм]] || '''описание основных типов (кирпичиков) из которых составляются формы''' |- | [[Приложения]] || '''CMS Sitebill состоит из отдельных модулей, каждый модуль выполняет свою определенную функцию''' |- | [[Страницы]] || Описание процесса создания и редактирования текстовых страниц со статичным HTML кодом. |- | [[Меню]] || Для организации удобной навигации можно создавать элементы меню с перечнем пунктов и ссылками на разделы сайта. |- | [[Шаблон]] || Описана типовая структура всех шаблонов |- | [[Общие настройки]] || Перечень всех настроек CMS Sitebill с кратким описанием. |- | [[Связанные элементы]] || Описана техника создания связи выпадающих списков в форме подачи объявления. Например, можно добавить дополнительный справочник микрорайонов и настроить зависимость списка от выбранного города. |- | [[Установка новых шаблонов]] || Процесс установки нового шаблона |- | [[Парсинг_КЛАДР|Парсинг КЛАДР]] || Загрузка готовых справочников городов, районов, улиц из общедоступного источника КЛАДР. |- | [[Настройка_робокассы|Настройка робокассы]] || Платежный шлюз |- | [[Структура_разделов|Структура разделов]] || Определяет типы недвижимости на сайте, также применяется при выводе объявлений по категориям и удобно при построении структуры сайта. |- | [[Редактор_текста_CKEditor|Редактор текста CKEditor]] || Удобный визуальный редактор для форматирования текста, добавления картинок и прочих HTML элементов. |- | [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]] || |- | [[mail|Настройка отправки писем с сайта]] || Решение частых проблем возникающих при работе с почтовым сервером на хостинге. |- | [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]] || |- | [[Пользователи]] || Управление учетными записями пользователей. |- | [[Группы]] || Разделение пользователей на группы. Каждой группе можно назначать определенные права доступа в панели управления и на сайте. |- | [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]] || Позволяет контроллировать ввод правильного номера телефона в соответствии с форматом. |- | [[Как создать пользовательскую форму заявки]] || Например, создать новую форму заявки на ипотеку или заявку на бесплатную консультацию. |- | [[Дополнительные параметры поиска|Дополнительные параметры поиска]] || Формирование своих поисковых запросов. Применяется в случае, если вы через редактор форм добавляли новые элементы и хотите включить их в процесс поиска. |- | [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]] || |- | [[Перевод|Перевод контента на другие языки]] || |- | [[Параметры_приложения_apps.mlsparser]] || |- | [[Db.inc.php]] || |- | [[Центр_обновлений|Центр обновлений]] || |- | [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]] || |} ==Руководство программиста CMS Sitebill== {| class="wikitable" |- | [[Генератор списков (таблиц) ]] || Описание принципа генерации таблиц и способа кастомизации заголовков, колонок, элементов управления и т.д. |- | [[hooks|Пользовательские обработчики - hooks]] || Способы перехвата системных функций и добавление своего поведения в них на уровне шаблона (не затирается при обновлении) |} == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 76b9eae82fb92f6f06f8f70badaefa95c62ddead FAQ 0 86 740 2018-10-30T09:04:51Z Kondin 1 Новая страница: «[[Как поменять логотип?]]» wikitext text/x-wiki [[Как поменять логотип?]] 7d7b61ea3a1cccb621edea9f1a0623b53c421f20 Как поменять логотип? 0 87 741 2018-10-30T09:07:03Z Kondin 1 Новая страница: «Видео по смене логотипа» wikitext text/x-wiki Видео по смене логотипа a12d23ceb5f8dc3d1aded4c2ca4a832ed3010a08 Биллинг 0 13 742 647 2018-11-06T20:31:35Z Abushyk 2 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |- | advabonent || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 8e914ca88ceb7a623232b207e9064e4ad6627c89 743 742 2018-11-06T20:32:38Z Abushyk 2 /* Таблица */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |- | advabonent || - || Период за который вычисляется плата (дней) || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 1bfcb8dbf39813c01b9573e19f32a1f8ac8c4d63 744 743 2018-11-06T22:54:44Z Abushyk 2 /* Услуги биллинга */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ===advabonent=== advabonent '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |- | advabonent || - || Период за который вычисляется плата (дней) || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> ddefc7f3095ec6e1caf77e19122cb78f65b6beec 745 744 2018-11-06T23:25:45Z Abushyk 2 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ===advabonent=== Услуга позволяет создать для тарифа условия, при которіх за размещение каждого обїекта в активном состоянии будет сниматься абонентская плата указанная в поле Стоимость єтой услуги ===Статусы объектов=== '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |- | advabonent || - || Период за который вычисляется плата (дней) || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 52f596bece1f2a166f5380d024dbf8ce8c675258 746 745 2018-11-06T23:28:34Z Abushyk 2 /* advabonent */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ===advabonent=== Услуга позволяет создать для тарифа условия, при которых за размещение каждого объекта в активном состоянии на протяжении некоторого периода, указанного в днях в поле услуги "Период", будет сниматься абонентская плата указанная в поле "Стоимость" этой услуги. При произведении списания по для объекта устанавливается временная метка окончания публикации. Следующая проверка системой состояния объектов будет проверять не прошло ли время указанное в этой метке и выключать объект, если не будет возможности произвести новое списание для продолжения публикации. ===Статусы объектов=== '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |- | advabonent || - || Период за который вычисляется плата (дней) || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 574adcb30f17667ace6427ed54d9f46d1b1a418a 747 746 2018-11-06T23:30:13Z Abushyk 2 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ===advabonent=== Услуга позволяет создать для тарифа условия, при которых за размещение каждого объекта в активном состоянии на протяжении некоторого периода, указанного в днях в поле услуги "Период", будет сниматься абонентская плата указанная в поле "Стоимость" этой услуги. При произведении списания по для объекта устанавливается временная метка окончания публикации. Следующая проверка системой состояния объектов будет проверять не прошло ли время указанное в этой метке и выключать объект, если не будет возможности произвести новое списание для продолжения публикации. Услуга '''advabonent''' поддерживает следующие параметры: Ограничение на количество - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа. '''Период''' - количество дней за размещение на протяжении которых будет взиматься плата '''Цена''' - сумма, которая будет взиматься за период времени указанный в услуге ===Статусы объектов=== '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |- | advabonent || - || Период за который вычисляется плата (дней) || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 65212cd654c81abf4e5e6504f6ade9158af1cb52 748 747 2018-11-06T23:30:29Z Abushyk 2 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ===advabonent=== Услуга позволяет создать для тарифа условия, при которых за размещение каждого объекта в активном состоянии на протяжении некоторого периода, указанного в днях в поле услуги "Период", будет сниматься абонентская плата указанная в поле "Стоимость" этой услуги. При произведении списания по для объекта устанавливается временная метка окончания публикации. Следующая проверка системой состояния объектов будет проверять не прошло ли время указанное в этой метке и выключать объект, если не будет возможности произвести новое списание для продолжения публикации. Услуга '''advabonent''' поддерживает следующие параметры: Ограничение на количество - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа. '''Период''' - количество дней за размещение на протяжении которых будет взиматься плата '''Цена''' - сумма, которая будет взиматься за период времени указанный в услуге ===Статусы объектов=== '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |- | advabonent || - || Период за который вычисляется плата (дней) || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 4aaee12ac5fec2a3e80dfc7cc5381c59e9d3b07f 749 748 2018-11-06T23:31:56Z Abushyk 2 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ===advabonent=== Услуга позволяет создать для тарифа условия, при которых за размещение каждого объекта в активном состоянии на протяжении некоторого периода, указанного в днях в поле услуги "Период", будет сниматься абонентская плата указанная в поле "Стоимость" этой услуги. При произведении списания по для объекта устанавливается временная метка окончания публикации. Следующая проверка системой состояния объектов будет проверять не прошло ли время указанное в этой метке и выключать объект, если не будет возможности произвести новое списание для продолжения публикации. Услуга '''advabonent''' поддерживает следующие параметры: Ограничение на количество - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа. '''Период''' - количество дней за размещение на протяжении которых будет взиматься плата '''Цена''' - сумма, которая будет взиматься за период времени указанный в услуге '''NB'''. Списание по этой услуге производится даже в том случае, если тариф, куда она включена, обладает абонентской платой. ===Статусы объектов=== '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |- | advabonent || - || Период за который вычисляется плата (дней) || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 8b2d968d0023148e170c9b60e49ac096cf1ee6be 750 749 2018-11-06T23:33:27Z Abushyk 2 /* Настройка CRON-задачи */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ===advabonent=== Услуга позволяет создать для тарифа условия, при которых за размещение каждого объекта в активном состоянии на протяжении некоторого периода, указанного в днях в поле услуги "Период", будет сниматься абонентская плата указанная в поле "Стоимость" этой услуги. При произведении списания по для объекта устанавливается временная метка окончания публикации. Следующая проверка системой состояния объектов будет проверять не прошло ли время указанное в этой метке и выключать объект, если не будет возможности произвести новое списание для продолжения публикации. Услуга '''advabonent''' поддерживает следующие параметры: Ограничение на количество - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа. '''Период''' - количество дней за размещение на протяжении которых будет взиматься плата '''Цена''' - сумма, которая будет взиматься за период времени указанный в услуге '''NB'''. Списание по этой услуге производится даже в том случае, если тариф, куда она включена, обладает абонентской платой. ===Статусы объектов=== '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |- | advabonent || - || Период за который вычисляется плата (дней) || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> Для запуска задачи по списанию абонентской платы за размещение каждого объекта используйте задачу для CRON <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php?advabonent=1</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> df94f3ef99474a10ebddd32d6f4dff891bb5c486 751 750 2018-11-06T23:35:15Z Abushyk 2 wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ===advabonent=== Услуга позволяет создать для тарифа условия, при которых за размещение каждого объекта в активном состоянии на протяжении некоторого периода, указанного в днях в поле услуги "Период", будет сниматься абонентская плата указанная в поле "Стоимость" этой услуги. При произведении списания по для объекта устанавливается временная метка окончания публикации. Следующая проверка системой состояния объектов будет проверять не прошло ли время указанное в этой метке и выключать объект, если не будет возможности произвести новое списание для продолжения публикации. Услуга '''advabonent''' поддерживает следующие параметры: Ограничение на количество - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа. '''Период''' - количество дней за размещение на протяжении которых будет взиматься плата '''Цена''' - сумма, которая будет взиматься за период времени указанный в услуге '''NB'''. Списание по этой услуге производится даже в том случае, если тариф, куда она включена, обладает абонентской платой. Для корректной работы этой услуги в модели объекта должно присутствовать поле '''abonent_payment''' типа '''dtdatetime''' и с правами доступа "только администраторы". ===Статусы объектов=== '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |- | advabonent || - || Период за который вычисляется плата (дней) || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> Для запуска задачи по списанию абонентской платы за размещение каждого объекта используйте задачу для CRON <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php?advabonent=1</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 02acce4adfe9761cad7fec6762eb59df615b76b4 752 751 2018-11-06T23:35:45Z Abushyk 2 /* Таблица */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ===advabonent=== Услуга позволяет создать для тарифа условия, при которых за размещение каждого объекта в активном состоянии на протяжении некоторого периода, указанного в днях в поле услуги "Период", будет сниматься абонентская плата указанная в поле "Стоимость" этой услуги. При произведении списания по для объекта устанавливается временная метка окончания публикации. Следующая проверка системой состояния объектов будет проверять не прошло ли время указанное в этой метке и выключать объект, если не будет возможности произвести новое списание для продолжения публикации. Услуга '''advabonent''' поддерживает следующие параметры: Ограничение на количество - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа. '''Период''' - количество дней за размещение на протяжении которых будет взиматься плата '''Цена''' - сумма, которая будет взиматься за период времени указанный в услуге '''NB'''. Списание по этой услуге производится даже в том случае, если тариф, куда она включена, обладает абонентской платой. Для корректной работы этой услуги в модели объекта должно присутствовать поле '''abonent_payment''' типа '''dtdatetime''' и с правами доступа "только администраторы". ===Статусы объектов=== '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица параметров услуг== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество добавленных объявлений || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |- | advabonent || - || Период за который вычисляется плата (дней) || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> Для запуска задачи по списанию абонентской платы за размещение каждого объекта используйте задачу для CRON <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php?advabonent=1</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 2c36c018860d5deca50a30b7bfaad26023af7161 753 752 2018-11-06T23:36:27Z Abushyk 2 /* Таблица параметров услуг */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ===advabonent=== Услуга позволяет создать для тарифа условия, при которых за размещение каждого объекта в активном состоянии на протяжении некоторого периода, указанного в днях в поле услуги "Период", будет сниматься абонентская плата указанная в поле "Стоимость" этой услуги. При произведении списания по для объекта устанавливается временная метка окончания публикации. Следующая проверка системой состояния объектов будет проверять не прошло ли время указанное в этой метке и выключать объект, если не будет возможности произвести новое списание для продолжения публикации. Услуга '''advabonent''' поддерживает следующие параметры: Ограничение на количество - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа. '''Период''' - количество дней за размещение на протяжении которых будет взиматься плата '''Цена''' - сумма, которая будет взиматься за период времени указанный в услуге '''NB'''. Списание по этой услуге производится даже в том случае, если тариф, куда она включена, обладает абонентской платой. Для корректной работы этой услуги в модели объекта должно присутствовать поле '''abonent_payment''' типа '''dtdatetime''' и с правами доступа "только администраторы". ===Статусы объектов=== '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица параметров услуг== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений || - || - |- | limit_data || Максимальное количество объявлений добавленных на протяжении некоторого периода || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |- | advabonent || - || Период за который вычисляется плата (дней) || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> Для запуска задачи по списанию абонентской платы за размещение каждого объекта используйте задачу для CRON <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php?advabonent=1</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 6bd1034da2b721a605b88ea7a97bd074ee8247cf 754 753 2018-11-06T23:36:52Z Abushyk 2 /* Таблица параметров услуг */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ===advabonent=== Услуга позволяет создать для тарифа условия, при которых за размещение каждого объекта в активном состоянии на протяжении некоторого периода, указанного в днях в поле услуги "Период", будет сниматься абонентская плата указанная в поле "Стоимость" этой услуги. При произведении списания по для объекта устанавливается временная метка окончания публикации. Следующая проверка системой состояния объектов будет проверять не прошло ли время указанное в этой метке и выключать объект, если не будет возможности произвести новое списание для продолжения публикации. Услуга '''advabonent''' поддерживает следующие параметры: Ограничение на количество - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа. '''Период''' - количество дней за размещение на протяжении которых будет взиматься плата '''Цена''' - сумма, которая будет взиматься за период времени указанный в услуге '''NB'''. Списание по этой услуге производится даже в том случае, если тариф, куда она включена, обладает абонентской платой. Для корректной работы этой услуги в модели объекта должно присутствовать поле '''abonent_payment''' типа '''dtdatetime''' и с правами доступа "только администраторы". ===Статусы объектов=== '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица параметров услуг== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений (емкость Личного кабинета) || - || - |- | limit_data || Максимальное количество объявлений добавленных на протяжении некоторого периода || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |- | advabonent || - || Период за который вычисляется плата (дней) || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> Для запуска задачи по списанию абонентской платы за размещение каждого объекта используйте задачу для CRON <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php?advabonent=1</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> ef716cbf5eda70ef58e5117e9c4340a3ed0f0f19 Биллинг 0 13 755 754 2018-11-06T23:44:32Z Abushyk 2 /* Настройка CRON-задачи */ wikitext text/x-wiki ==Общая информация== Прежде чем описать конфигурационные параметры биллинга хочу для начала рассказать об основной концепции данного приложения.<br /> Для начала представьте себе временную шкалу. И объявления которые расположены на этой шкале. Задача биллинга состоит в том чтобы четко ограничивать время жизни той или иной функции на временной шкале по отношению к объявлению. Это относится как к длительности существования этой функции так и к количеству возможных объявлений на одном промежутке времени. И для того чтобы разделить длительность, количество и прочие параметры в биллинге введены такие сущности как услуги. Несколько услуг объединены в пакет. И этот пакет называется Тарифом.<br /> Создавая наборы типовых услуг но с разными временными и количественными характеристиками мы можем объединять эти услуги в разные тарифы. Таким образом, мы добиваемся разных условий для пользователей, которые находятся на тарифе «Начальный» и тарифе «Профессионал». В тарифе «Профессионал» могут быть более выгодные условия размещения.<br /> Биллинг имеет модуль, который необходимо запускать раз в сутки. Данный модуль выполняет несколько операций. <br /> * Загружает список всех пользователей<br /> * Затем проходит в цикле по каждому пользователю и определяет тариф этого пользователя.<br /> * Для тарифа выполняется загрузка списка услуг. И в соответствии с названием услуги и ее параметрами применяются операции для объявлений пользователя. ==Установка== * Распакуйте архив дистрибутива billing.zip<br /> * Загрузите каталоги tariff, billing, service, upper в /apps/ по фтп на сайт<br /> * billing.php надо загрузить в корень сайта<br /> * Теперь нужно зайти в обновления и обновить все доступные приложения. В архиве не всегда успеваем создавать свежие версии, поэтому лучше перепроверить их обновления.<br /> * Зайти приложения - Тарифы и нажать установить<br /> * Зайти приложения - Биллинг<br /> * В настройках - включить тарифы, биллинг<br /> * Создать тарифы (смотрите ниже)<br /> * Добавить в редакторе форм в таблицу data поля vip_status_end, premium_status_end, bold_status_end. Эти поля все должны быть тип: date, хранить в базе и доступ только для группы администраторов<br /> ==Описание параметров Услуги== * Системное название – здесь необходимо указать латинскими буквами название услуги, которое будет распознаваться системой. Сейчас доступны следующие названия (''limit_data, hotswitcher, upper_limit'').<br /> Системное название услуги состоит из формальной неизменяемой части и идентифицирующей части. Формальная часть должна идти в начале системного имени услуги и иметь одно из предопределенных значений limit_data, upper_limit, advlimit_data. Идентифицирующая часть следует за формально, отделенная знаком подчеркивания и может иметь произвольную форму, позволяющую по ней понять о какой именно услуге из набора подобных идет речь. На роботу биллинга эта часть не оказывает никакого влияния. Обычно, в качестве идентифицирующей части используется краткое имя тарифа, к которому эта услуга прикрепляется. Прмеры названия услуги: <pre> limit_data_beginner advlimit_data_200 upper_limit_5perday </pre> * Заголовок – понятное для человека название.<br /> * Длительность в днях – данный параметр указывает на то, сколько будет действовать данный параметр. Причем длительность считается от момента размещения объявления. <br /> * Период в днях – параметр указывает на то, за какой период времени система будет считать функцию. Например, количество объявлений за 7 дней (календарная неделя с понедельника по воскресенье) или за месяц (также календарный месяц с первого числа по последнее число месяца).<br /> * Ограничение на количество – тут устанавливается сам ограничитель количества допустимых объявлений. За период в днях описанный выше.<br /> * Метод программный в классе биллинга – в данном поле можно вписать название метода, который будет выполняться для данной услуги. Сейчас доступны следующие методы: <br /> ''switch_off'' – выключение объявления из активных. Не будет доступно на сайте, но будет у пользователя в личном кабинете отображаться красным цветом.<br /> ''switch_off_hot'' – отключение параметра «спецпредложения». Также при истечении срока действия спецпредложения оно выключается, но объявление при этом остается доступным на сайте.<br /><br /> Для выполнения процедур биллинга в корне сайта должен находится файл /billing.php<br /><br /> Необходимо вызывать этот скрипт из cron регулярно раз в день.<br /> ==Услуги биллинга== ===limit_data=== Услуга '''limit_data''' - указывает на ограничение по количеству возможных добавленных объявлений для одного пользователя в одном временном промежутке. Используйте ее, если Вам необходимо ограничить количество добавляемых пользователем объявлений на одном временном отрезке.<br /> В данной услуге есть следующие параметры:<br /> '''Период''' - если здесь указать 7, то лимит будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. <br /> Если в период указать 0, то за промежуток времени будет браться календарный месяц. С первого числа месяца и до последнего числа месяца.<br /> '''Ограничение на количество''' - данное поле служит для определения самого количества доступных объявлений для одного пользователя в выбранный период времени.<br /> ===advlimit_data=== Услуга '''advlimit_data''' - указывает на ограничение по общему количеству объявлений для одного пользователя (При расчете учитываются все объявления, в том числе и неактивные). Используйте ее, если Вам необходимо ограничить общее количество объявлений пользователя.<br /> Услуга '''advlimit_data''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных объявлений для одного пользователя.<br /> '''Период''' - это значение для данной услуги не используется<br /> ===upper_limit=== Услуга '''upper_limit''' - указывает на ограничение по общему количеству предоставляемых предоплаченых поднятий в тарифе для одного пользователя на протяжении некоторого времени. Используйте ее, если Вам необходимо предоставить некоторое число поднятий на определенный временной промежуток в рамках тарифа.<br /> Услуга '''upper_limit''' поддерживает следующие параметры:<br /> '''Ограничение на количество''' - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа.<br /> '''Период''' - если здесь указать 7, то время использования предоплаченых поднятий будет определяться недельными промежутками. Отсчет начинается с понедельника и заканчивается в воскресенье. На следующий понедельник счетчик уже будет считать начиная с этого нового понедельника количество объявлений. Указание 30 - определит временной промежуток в 1 месяц<br /> ===advabonent=== Услуга позволяет создать для тарифа условия, при которых за размещение каждого объекта в активном состоянии на протяжении некоторого периода, указанного в днях в поле услуги "Период", будет сниматься абонентская плата указанная в поле "Стоимость" этой услуги. При произведении списания по для объекта устанавливается временная метка окончания публикации. Следующая проверка системой состояния объектов будет проверять не прошло ли время указанное в этой метке и выключать объект, если не будет возможности произвести новое списание для продолжения публикации. Услуга '''advabonent''' поддерживает следующие параметры: Ограничение на количество - данное поле служит для определения максимального количества доступных предоплаченых поднятий в промежуток времени в рамках тарифа. '''Период''' - количество дней за размещение на протяжении которых будет взиматься плата '''Цена''' - сумма, которая будет взиматься за период времени указанный в услуге '''NB'''. Списание по этой услуге производится даже в том случае, если тариф, куда она включена, обладает абонентской платой. Для корректной работы этой услуги в модели объекта должно присутствовать поле '''abonent_payment''' типа '''dtdatetime''' и с правами доступа "только администраторы". ===Статусы объектов=== '''VIP''' – объявления отмеченные этим статусом отображаются в специальном блоке на сайте. Если объявлений больше чем вмещается в блок, тогда объявления со статусом VIP там будут отображаться в случайном порядке при каждой загрузке страницы. <br /> '''PREMIUM''' – с этим статусом объявления будут выводиться в списках в самом верху. Они выводятся наверху списка на главной всегда. Или же наверху списка в том разделе, в котором они размещены. Например, если PREMIUM отмечено объявление о продаже 1-комнтаной квартиры, тогда оно будет всегда сверху списка 1-комнтаных квартир по продаже. Если PREMIUM объявлений будет больше чем, указано в настройках, тогда они также будут в случайном порядке показываться при каждой загрузке страницы.<br /> '''BOLD''' – объявления с этим статусом отмечаются особым цветом или выделенным шрифтом в списке. Других отличий они не имеют.<br /> ==Таблица параметров услуг== {| class="wikitable" |- ! Название услуги !! Ограничение на количество !! Период !! Длительность в днях |- | abonent || - || - || - |- | advlimit_data || Максимальное количество существующих объявлений (емкость Личного кабинета) || - || - |- | limit_data || Максимальное количество объявлений добавленных на протяжении некоторого периода || Период в котором производится учет добавленных объявлений || - |- | upper_limit || Количество подъемов в учетный период || Период в котором производится учет поднятий || - |- | bpack_prem || Количество включенных премиальных статусов в учетный период || Период в котором производится учет использования премиальных статусов || - |- | bpack_vip || Количество включенных VIP-статусов в учетный период || Период в котором производится учет использования VIP-статусов || - |- | bpack_bold || Количество включенных выделенных статусов в учетный период || Период в котором производится учет использования выделенных статусов || - |- | advabonent || - || Период за который вычисляется плата (дней) || - |} ==Настройка абонентской платы для тарифа== Для любого тарифа можно назначить абонентскую плату. Абонентская плата взымается с пользователя 1 раз в месяц (в начале месяца).<br/> Для того чтобы начала списываться абонетсткая плата, нужно завести услугу с ключевым словом abonent - в названии, например abonent_pro.<br/> Примерные значения параметров этой услуги приведены ниже:<br/> '''Системное название''' = abonent_pro<br/> '''Заголовок''' = Абонентская плата для тарифа ПРО<br/> '''Длительность в днях''' = 30 (этот параметр не важен)<br/> '''Период в днях''' = 30 (этот период также не важен для услуги)<br/> '''Ограничение на количество шт.''' = 0 (параметр не важен для услуги)<br/> Метод программный в классе биллинга = abonent (Единственное допустимое значение.)<br/> '''Стоимость''' = 200 (именно эта сумма будет списываться со счета пользователя в начале месяца)<br/> Затем нужно добавить эту услугу в соответствующий тариф.<br/> Если при начислении абонентской платы у пользователя будет недостаточно средств, тогда система переключит его тариф на тот, что указан в настройках во вкладке Биллинг в поле '''Идентификатор тарифа на который переключать пользователей, если у них на счету нет денег для продления текущего тарифа (apps.billing.default_tariff_id)'''. Или если там значение 0, то просто выключит тариф на значение "Не выбран".<br/> Также пользователю, которого система переключает на другой тариф отправляется уведомление на email.<br/> ==Настройка CRON-задачи== Пример строки для CRON. Это задание будет выполняться каждый день в 1:01 :<br /> <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php</pre> Для запуска задачи по списанию абонентской платы за размещение каждого объекта используйте задачу для CRON (Эту задачу необходимо встраивать в Планировщик только если вы используете услугу advabonent. Частота запуска задачи подбирается эмпирически, но не реже чем раз в час.) <pre>1 1 * * * /usr/bin/wget -O /dev/null -q http://ваш_сайт/billing.php?advabonent=1</pre> ==Настройка пользователей== После того, как вы создали тарифы и услуги нужно добавить поле для выбора тарифа у пользователя.<br/> Для этого в таблицу user через Редактор форм добавляем колонку tariff_id - описание полей можно увидеть на этой картинке http://sitebill.ru/storage/scr/user_tariff.png<br/> Сами пользователи смогут покупать себе тарифы из личного кабинета, для этого нужно добавить пункт меню Мои тарифы и ссылка на /billing/tarifflist - тут находится список тарифов и кнопки для их покупки<br/> Меню пользователя находится тут /template/frontend/ваш_шаблон/user_menu.tpl<br> Пункт меню может выглядеть так <pre><li><a href="{$estate_folder}/billing/tarifflist" class="logout">Мои тарифы</a></li></pre> 07df8b7e173a07991af4241457869d6ba175b7b3 Приложение "Новости" 0 88 756 2018-11-07T11:10:54Z Abushyk 2 Новая страница: «apps.news.user_enable_access_type - тип доступа к новостям в ЛК "никому" - доступ к новостям через ЛК закр…» wikitext text/x-wiki apps.news.user_enable_access_type - тип доступа к новостям в ЛК "никому" - доступ к новостям через ЛК закрыт всем "не установлено" - доступ к новостям предоставляется всем зарегистрированным пользователям. Используйте этот режим, если на сайте нет свободной регистрации, а все пользователи сайта - это ваши подчиненные, которым можно доверить доступ к приложению. "определенным группам" - доступ к новостям через ЛК открыт только пользователям из перечисленных групп "по признаку в профиле" - доступ к новостям через ЛК открыт только пользователям имеющим в профиле установленный признак-галочку d0550d72a709cf6913338f6761d688c6070e5bcb Приложения 0 6 757 731 2018-11-07T11:11:25Z Abushyk 2 /* Другие */ wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]]<br /> [[Приложение "Выгрузка Realestate.ru"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> [[Приложение "Парсер ADS-API.RU"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> [[Приложение "Новости"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 17961fd3de2c2df1659b9dba41aca1a026ffe54c 762 757 2018-12-11T05:29:00Z Kondin 1 Добавил заготовку для Facebook-постинг приложения wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]]<br /> [[Приложение "Выгрузка Realestate.ru"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> [[Приложение "Парсер ADS-API.RU"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> [[Приложение "Facebook-постинг"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> [[Приложение "Новости"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 0670f2dbc920d95f10d17a67573a675cd856cf56 764 762 2018-12-24T03:12:47Z Kondin 1 /* Постинг */ wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]]<br /> [[Приложение "Выгрузка Realestate.ru"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> [[Приложение "Парсер ADS-API.RU"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> [[Приложение "Facebook-постинг"]]<br /> [[Приложение "Vk-постинг"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> [[Приложение "Новости"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) f1d318b88f57d81a883338be9382c602a85c5b37 772 764 2019-03-17T23:16:51Z Abushyk 2 /* Парсинг */ wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]]<br /> [[Приложение "Выгрузка Realestate.ru"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> [[Приложение "Парсер ADS-API.RU"]]<br /> [[Приложение "Парсер формата Domaza"]]<br /> [[Приложение "Парсер формата Kyero"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> [[Приложение "Facebook-постинг"]]<br /> [[Приложение "Vk-постинг"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> [[Приложение "Новости"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) ecca7a1d1bb6e1871ba6b5af40e7f665ea31555d 787 772 2019-08-28T09:12:31Z Abushyk 2 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка ЦИАН 2"]] [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]]<br /> [[Приложение "Выгрузка Realestate.ru"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> [[Приложение "Парсер ADS-API.RU"]]<br /> [[Приложение "Парсер формата Domaza"]]<br /> [[Приложение "Парсер формата Kyero"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> [[Приложение "Facebook-постинг"]]<br /> [[Приложение "Vk-постинг"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> [[Приложение "Новости"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) d1e2db75c034ca97cbfade6d3c20a059bfbeb871 788 787 2019-08-28T09:13:10Z Abushyk 2 /* Выгрузка */ wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка ЦИАН 2"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]]<br /> [[Приложение "Выгрузка Realestate.ru"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> [[Приложение "Парсер ADS-API.RU"]]<br /> [[Приложение "Парсер формата Domaza"]]<br /> [[Приложение "Парсер формата Kyero"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> [[Приложение "Facebook-постинг"]]<br /> [[Приложение "Vk-постинг"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> [[Приложение "Новости"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 2899d50652035b20e838163e302a4fadccb86d4c Приложение "Выгрузка Yandex.Realty" 0 31 758 691 2018-11-16T02:51:25Z Kondin 1 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. 570aa65697a60c2d08ab1a096d39f9695523bffb 778 758 2019-06-13T08:57:10Z Kondin 1 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <nowiki> <pre> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </pre> </nowiki> 8c0bfd46b90ad41ec3a08b579a3ec92b6771c329 779 778 2019-06-13T08:57:31Z Kondin 1 /* Hooks для замены контактов */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> bca56073393ab77cde6c45348b59936551caf35f Типы элементов форм 0 44 759 674 2018-11-23T04:48:18Z Kondin 1 /* select_by_query */ wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. e990d48d2ab641a4c485430ec6b1ffd6bbf8411b Заглавная страница 0 1 760 739 2018-11-30T02:58:56Z Kondin 1 /* Руководство программиста CMS Sitebill */ wikitext text/x-wiki <br /> [[FAQ]] ==Техническая документация CMS Sitebill== [[Введение]]<br /> {| class="wikitable" |- | [[Приложение "Редактор форм"]] || '''основной инструмент для управления формами''' |- | [[Типы элементов форм]] || '''описание основных типов (кирпичиков) из которых составляются формы''' |- | [[Приложения]] || '''CMS Sitebill состоит из отдельных модулей, каждый модуль выполняет свою определенную функцию''' |- | [[Страницы]] || Описание процесса создания и редактирования текстовых страниц со статичным HTML кодом. |- | [[Меню]] || Для организации удобной навигации можно создавать элементы меню с перечнем пунктов и ссылками на разделы сайта. |- | [[Шаблон]] || Описана типовая структура всех шаблонов |- | [[Общие настройки]] || Перечень всех настроек CMS Sitebill с кратким описанием. |- | [[Связанные элементы]] || Описана техника создания связи выпадающих списков в форме подачи объявления. Например, можно добавить дополнительный справочник микрорайонов и настроить зависимость списка от выбранного города. |- | [[Установка новых шаблонов]] || Процесс установки нового шаблона |- | [[Парсинг_КЛАДР|Парсинг КЛАДР]] || Загрузка готовых справочников городов, районов, улиц из общедоступного источника КЛАДР. |- | [[Настройка_робокассы|Настройка робокассы]] || Платежный шлюз |- | [[Структура_разделов|Структура разделов]] || Определяет типы недвижимости на сайте, также применяется при выводе объявлений по категориям и удобно при построении структуры сайта. |- | [[Редактор_текста_CKEditor|Редактор текста CKEditor]] || Удобный визуальный редактор для форматирования текста, добавления картинок и прочих HTML элементов. |- | [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]] || |- | [[mail|Настройка отправки писем с сайта]] || Решение частых проблем возникающих при работе с почтовым сервером на хостинге. |- | [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]] || |- | [[Пользователи]] || Управление учетными записями пользователей. |- | [[Группы]] || Разделение пользователей на группы. Каждой группе можно назначать определенные права доступа в панели управления и на сайте. |- | [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]] || Позволяет контроллировать ввод правильного номера телефона в соответствии с форматом. |- | [[Как создать пользовательскую форму заявки]] || Например, создать новую форму заявки на ипотеку или заявку на бесплатную консультацию. |- | [[Дополнительные параметры поиска|Дополнительные параметры поиска]] || Формирование своих поисковых запросов. Применяется в случае, если вы через редактор форм добавляли новые элементы и хотите включить их в процесс поиска. |- | [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]] || |- | [[Перевод|Перевод контента на другие языки]] || |- | [[Параметры_приложения_apps.mlsparser]] || |- | [[Db.inc.php]] || |- | [[Центр_обновлений|Центр обновлений]] || |- | [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]] || |} ==Руководство программиста CMS Sitebill== {| class="wikitable" |- | [[RESTAPI ]] || Работа с системой через RESTAPI |- | [[Генератор списков (таблиц) ]] || Описание принципа генерации таблиц и способа кастомизации заголовков, колонок, элементов управления и т.д. |- | [[hooks|Пользовательские обработчики - hooks]] || Способы перехвата системных функций и добавление своего поведения в них на уровне шаблона (не затирается при обновлении) |} == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 494c7a6985d30f04efff5827a6f8f8fb9796dbb1 773 760 2019-03-25T11:22:36Z Kondin 1 Добавил ссылку на описание dadata.ru wikitext text/x-wiki <br /> [[FAQ]] ==Техническая документация CMS Sitebill== [[Введение]]<br /> {| class="wikitable" |- | [[Приложение "Редактор форм"]] || '''основной инструмент для управления формами''' |- | [[Типы элементов форм]] || '''описание основных типов (кирпичиков) из которых составляются формы''' |- | [[Приложения]] || '''CMS Sitebill состоит из отдельных модулей, каждый модуль выполняет свою определенную функцию''' |- | [[Страницы]] || Описание процесса создания и редактирования текстовых страниц со статичным HTML кодом. |- | [[Меню]] || Для организации удобной навигации можно создавать элементы меню с перечнем пунктов и ссылками на разделы сайта. |- | [[Шаблон]] || Описана типовая структура всех шаблонов |- | [[Общие настройки]] || Перечень всех настроек CMS Sitebill с кратким описанием. |- | [[Связанные элементы]] || Описана техника создания связи выпадающих списков в форме подачи объявления. Например, можно добавить дополнительный справочник микрорайонов и настроить зависимость списка от выбранного города. |- | [[Установка новых шаблонов]] || Процесс установки нового шаблона |- | [[Парсинг_КЛАДР|Парсинг КЛАДР]] || Загрузка готовых справочников городов, районов, улиц из общедоступного источника КЛАДР. |- | [[Настройка_робокассы|Настройка робокассы]] || Платежный шлюз |- | [[Структура_разделов|Структура разделов]] || Определяет типы недвижимости на сайте, также применяется при выводе объявлений по категориям и удобно при построении структуры сайта. |- | [[Редактор_текста_CKEditor|Редактор текста CKEditor]] || Удобный визуальный редактор для форматирования текста, добавления картинок и прочих HTML элементов. |- | [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]] || |- | [[mail|Настройка отправки писем с сайта]] || Решение частых проблем возникающих при работе с почтовым сервером на хостинге. |- | [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]] || |- | [[Распознавание адресов через dadata.ru|Распознавание адресов через dadata.ru]] || |- | [[Пользователи]] || Управление учетными записями пользователей. |- | [[Группы]] || Разделение пользователей на группы. Каждой группе можно назначать определенные права доступа в панели управления и на сайте. |- | [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]] || Позволяет контроллировать ввод правильного номера телефона в соответствии с форматом. |- | [[Как создать пользовательскую форму заявки]] || Например, создать новую форму заявки на ипотеку или заявку на бесплатную консультацию. |- | [[Дополнительные параметры поиска|Дополнительные параметры поиска]] || Формирование своих поисковых запросов. Применяется в случае, если вы через редактор форм добавляли новые элементы и хотите включить их в процесс поиска. |- | [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]] || |- | [[Перевод|Перевод контента на другие языки]] || |- | [[Параметры_приложения_apps.mlsparser]] || |- | [[Db.inc.php]] || |- | [[Центр_обновлений|Центр обновлений]] || |- | [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]] || |} ==Руководство программиста CMS Sitebill== {| class="wikitable" |- | [[RESTAPI ]] || Работа с системой через RESTAPI |- | [[Генератор списков (таблиц) ]] || Описание принципа генерации таблиц и способа кастомизации заголовков, колонок, элементов управления и т.д. |- | [[hooks|Пользовательские обработчики - hooks]] || Способы перехвата системных функций и добавление своего поведения в них на уровне шаблона (не затирается при обновлении) |} == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. e771371a576c5ebe64486e43580081da498cd942 RESTAPI 0 89 761 2018-11-30T03:00:20Z Kondin 1 Новая страница: «Адрес вызова /apps/api/rest.php<br> anonymous - параметр указывает на то, что ключ сессии не обязательны…» wikitext text/x-wiki Адрес вызова /apps/api/rest.php<br> anonymous - параметр указывает на то, что ключ сессии не обязательный и вызваемая функция не требует авторизации пользователя 67951eb32c758f9493286e3740bba63d32c213a0 Приложение "Facebook-постинг" 0 90 763 2018-12-11T05:29:37Z Kondin 1 Новая страница: «Постинг facebook. Регистрируем приложение тут https://developers.facebook.com/apps/» wikitext text/x-wiki Постинг facebook. Регистрируем приложение тут https://developers.facebook.com/apps/ bd208968a26b1d3b96c80480b8c1b14c87341cb2 Приложение "Vk-постинг" 0 91 765 2018-12-24T03:13:44Z Kondin 1 Новая страница: «Постинг vk. Регистрируем приложение тут https://vk.com/apps» wikitext text/x-wiki Постинг vk. Регистрируем приложение тут https://vk.com/apps 770d05620883738486a71124760049e0c880152d Магазин контактов 0 72 766 567 2019-01-21T09:47:34Z Kondin 1 wikitext text/x-wiki Шаблон отправки SMS сообщения с кодом<br> '''Vy aktivirovali kluch dostupa: ______'''<br> Настройки магазина контактов находятся в панели управления - пункт Acessor<br> Варианты (apps.accessorc.access_variants) записываются в виде пар значений {1:5}{3:12}{5:15}. Где в паре {1:5} 1 это длительность, а 5 это стоимость. c796a0aeea0c9d0f274234abb85d0e17080f0112 Hooks 0 73 767 737 2019-02-19T11:40:36Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> Функция '''BeforPrintOptionName_getCategorySelectBoxWithName''' будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> '''onGridConditionsPrepare_hook''' - вызывается во время формирования условий для выборки данных.<br> Пример использования: исключаем из вывода в личном кабинете apps.data объявления принадлежащие пользователю с user_id=888 <pre> <nowiki> function onGridConditionsPrepare_hook($context, $params) { if ( $context->table_name == 'data' ) { $params['grid_conditions_sql'][] = "user_id <> 888"; } return $params; } </nowiki> </pre> '''BeforeDuplicate''' - вызывается перед созданием дубля объявления.<br> Пример использования: если lot_number является уникальным ключом, то при дублировании мы добавляем к нему числовой идентификатор, чтобы сохранить уникальность ключа для новой записи.<br> <pre> <nowiki> /** * Функция может менять значения в массиве перед созданием нового дубля */ function BeforeDuplicate( $form_data ) { foreach ($form_data as $k => $item) { if ($item['name'] == 'lot_number') { $form_data[$k]['value'] .= '-' . time(); } } return $form_data; } </nowiki> </pre> '''custom_admin_search_fields''' - Добавляем новый параметр поиска в форму расширенного поиска в админке в объявлениях.<br> <pre> <nowiki> function custom_admin_search_fields ( $smarty ) { return '<tr><td>Мое поле</td><td> <input type="text" name="moe_pole" id="moe_pole" value="'.$_REQUEST['moe_pole'].'" /></td></tr>'; } </nowiki> </pre> Этот параметр затем можно добавлять в поиск с помощью template_search.php https://www.sitebill.ru/s/topic/241-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8F-%D0%B2-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA-template_search-%D0%B8-%D0%B4%D1%80/ <br> '''BeforePrintGridItem''' - выполняет обработку массива данных строки записи перед выводом в таблицу<br> В данном примере функция принимает массив текущей строки данных $row_data и выполняет проверку идентификатора владельца этого объявления с идентификатором пользователя из сессии, если они различаются, тогда заменяется значение поля телефон (phone) на "скрыт". Т.е. реализуется логика скрытия контактов собственников от всех кроме владельца объявления. <pre> <nowiki> function BeforePrintGridItem ( $row_data, $control_params ) { if ( $row_data['user_id']['value'] != $_SESSION['user_id_value'] ) { $row_data['phone']['value'] = 'скрыт'; } return $row_data; } </nowiki> </pre> '''yandex_data_hook''' - преобразование массива пользовательской информации. Перехват идет в функции exSalesAgent($data_item)<br> \apps\yandexrealty\site\site.php <pre> <nowiki> function yandex_data_hook ($data_item) { return $data_item; } </nowiki> </pre> 03e83fc9dd6e6e577510a871c64d9a2da8eabb61 Приложение "Парсер формата Kyero" 0 92 768 2019-03-17T22:03:56Z Abushyk 2 Новая страница: «Метка - уникальная метка источника. Придумать ее и следить за ее уникальностью должен ад…» wikitext text/x-wiki Метка - уникальная метка источника. Придумать ее и следить за ее уникальностью должен админ. Метка должна быть уникальна не только в контексте загрузки с домазы, но и любого другого загрузчика. Никакого значения смыслового не несет, просто уникализирует источник. Источник - адрес фида с данными. если это нормальный фид, то указываете тут его адрес. Если как у вас с болгарии файл с хмл, тогда загружаете хмл к себе на хостинг (не зип, а уже распакованных хмл) и прописываете в это поле его адрес с доменом и протоколом Активно - ставите галочку что бы задача запускалась парсером или не ставите для ее остановки Загружаемые активны - указывает загружать ли объекты с фида сразу в активном состоянии или нет Владелец загружаемых - указываете юзера на которого будут привязываться загружаемые объекты Уникализация. Объекты с фида уникализируются тремя способами а) владелец - только по принадлежности к пользователю на которого грузатся б) метка - только по паре метка (из настроек выше) и ИД объекта в фиде в) метка+владелец - по обеим указанным выше вариантам в вашем случае для болгарии стоит "метка", т.е. объекты привязываются от источника, но вы, после загрузки, можете спокойно сменить им владельца и они не потяряют связи с фидом Ограничение на количество изображений - максимальное число забираемых из фида фоток на каждый объект. Если не указано ничего, значит без ограничений Последний парсинг - не заполняем, парсер сам будет заполнять это поле в процессе парсинга 06262c2b2c500d1780b092eac9d0aae16b205b5b 769 768 2019-03-17T22:23:41Z Abushyk 2 wikitext text/x-wiki == Создание задачи == '''Метка''' - уникальная метка источника. Это значение не несет никакого смысла, кроме того, что позволяет отличать объекты, загружаемые с разных источников. Метка должна быть уникальна не только в контексте загрузки данного приложения, но и любого другого загрузчика. Значение метки хранится в поле с системным именем uniq_label в модели объекта. '''Источник''' - адрес фида с данными. '''Активно''' - признак активности задачи. Загружаемые активны - указывает, загружать ли объекты с фида сразу в активном состоянии или нет Владелец загружаемых - указывает пользователя к которому будут прикрепляться загружаемые объекты. Этот параметр важен только при загрузке. Уникализация объекта происходит по паре uniq_label и uniq_id. Поэтому, в последстии, объект может быть передан другому пользователю, но не будет оторван от фида-источника. Уникализация. Объекты с фида уникализируются тремя способами а) владелец - только по принадлежности к пользователю на которого грузатся б) метка - только по паре метка (из настроек выше) и ИД объекта в фиде в) метка+владелец - по обеим указанным выше вариантам в вашем случае для болгарии стоит "метка", т.е. объекты привязываются от источника, но вы, после загрузки, можете спокойно сменить им владельца и они не потяряют связи с фидом Ограничение на количество изображений - максимальное число забираемых из фида фоток на каждый объект. Если не указано ничего, значит без ограничений Последний парсинг - не заполняем, парсер сам будет заполнять это поле в процессе парсинга 5aa247ec4461f0bfac9b5f12966ae326e19160c6 770 769 2019-03-17T23:07:48Z Abushyk 2 /* Создание задачи */ wikitext text/x-wiki == Создание задачи == '''Метка''' - уникальная метка источника. Это значение не несет никакого смысла, кроме того, что позволяет отличать объекты, загружаемые с разных источников. Метка должна быть уникальна не только в контексте загрузки данного приложения, но и любого другого загрузчика. Значение метки хранится в поле с системным именем uniq_label в модели объекта. '''Источник''' - адрес фида с данными. '''Активно''' - признак активности задачи. '''Загружаемые активны''' - указывает, загружать ли объекты с фида сразу в активном состоянии или нет '''Владелец загружаемых''' - указывает пользователя к которому будут прикрепляться новые загружаемые объекты. Этот параметр важен только при загрузке. Уникализация объекта происходит по паре uniq_label и uniq_id. Поэтому, в последстии, объект может быть передан другому пользователю, но не будет оторван от фида-источника. '''Ограничение на количество добавляемых''' - указывает сколько новых объектов загружать за один проход парсера. Если значение не указано, то будут загружаться все новые объекты. Используйте этот параметр, если хотите избежать массового добавления большого количества новых объектов за один раз. '''Ограничение на количество изображений''' - максимальное число забираемых из фида фототорафий на каждый объект. Если значение не указано - будут загружаться все фотографии '''Последний парсинг''' - поле для хранения даты последнего запуска этой задачи. Заполняется самим парсером по мере парсинга Уникализация. Объекты с фида уникализируются тремя способами а) владелец - только по принадлежности к пользователю на которого грузатся б) метка - только по паре метка (из настроек выше) и ИД объекта в фиде в) метка+владелец - по обеим указанным выше вариантам в вашем случае для болгарии стоит "метка", т.е. объекты привязываются от источника, но вы, после загрузки, можете спокойно сменить им владельца и они не потяряют связи с фидом fa6b5e6d465c18f7cf5ff21530ad5f9ef5280bcc Приложение "Парсер формата Domaza" 0 93 771 2019-03-17T23:11:15Z Abushyk 2 Новая страница: «== Создание задачи == '''Метка''' - уникальная метка источника. Это значение не несет никаког…» wikitext text/x-wiki == Создание задачи == '''Метка''' - уникальная метка источника. Это значение не несет никакого смысла, кроме того, что позволяет отличать объекты, загружаемые с разных источников. Метка должна быть уникальна не только в контексте загрузки данного приложения, но и любого другого загрузчика. Значение метки хранится в поле с системным именем uniq_label в модели объекта. '''Источник''' - адрес фида с данными. '''Активно''' - признак активности задачи. '''Загружаемые активны''' - указывает, загружать ли объекты с фида сразу в активном состоянии или нет '''Владелец загружаемых''' - указывает пользователя к которому будут прикрепляться новые загружаемые объекты. Этот параметр важен только при загрузке. Уникализация объекта происходит по паре uniq_label и uniq_id. Поэтому, в последстии, объект может быть передан другому пользователю, но не будет оторван от фида-источника. '''Уникализация''' - Устанавливает способ уникализации объектов из фида. Объекты с фида уникализируются тремя способами а) владелец - только по принадлежности к пользователю на которого присоединяются б) метка - только по паре уникальной метки и ID объекта в фиде в) метка+владелец - по обеим указанным выше вариантам одновременно '''Ограничение на количество изображений''' - максимальное число забираемых из фида фототорафий на каждый объект. Если значение не указано - будут загружаться все фотографии '''Последний парсинг''' - поле для хранения даты последнего запуска этой задачи. Заполняется самим парсером по мере парсинга 8cd0653c884fb2046197fa6b4d1a10f81b4633b3 Распознавание адресов через dadata.ru 0 94 774 2019-03-25T11:23:38Z Kondin 1 Новая страница: «Видео-инструкция по настройке https://www.sitebill.ru/s/topic/3798-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-system-3…» wikitext text/x-wiki Видео-инструкция по настройке https://www.sitebill.ru/s/topic/3798-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-system-3515-%D1%80%D0%B0%D1%81%D0%BF%D0%BE%D0%B7%D0%BD%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D0%B0<br> 1a92dec2f66ac92018a8c1e9239775cc1d3c01f7 775 774 2019-03-25T11:25:46Z Kondin 1 wikitext text/x-wiki Видео-инструкция по настройке https://www.sitebill.ru/s/topic/3798-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-system-3515-%D1%80%D0%B0%D1%81%D0%BF%D0%BE%D0%B7%D0%BD%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D0%B0<br> '''Дополнительные настройки'''<br> ''dadata_autocomplete_force'' - при включении данной опции даже если вы не включили autocomplete для гео-полей, система самостоятельно включит опцию autocomplete для 'city_id', 'district_id', 'street_id'. Чтобы сохранение адреса происходило корректно. 2daed451d3ee022d9ddaa8117bf0dd29463d1fe9 Приложение "Экспорт в PDF" 0 47 776 656 2019-04-24T02:39:42Z Kondin 1 wikitext text/x-wiki == Назначение == Приложение предназначено для организации экспорта объявлений в формат PDF-документа, которые, зачастую, более удобны при распространении и печати.<br /> Приложение поддерживает создание собственных макетов документов, что позволяет определить свой уникальный стиль подачи материала<br /> Создание макета может потребовать некоторых базовых знаний в области создания разметки HTML и использования стилей CSS, либо привлечения специалиста. Не сложные макеты могут быть сверстаны самостоятельно на основании базового. == Установка == # Распакуйте архих pdfreport.zip # Скопируйте каталог pdfreport по ftp в каталог сайта /apps/ # Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения) # Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт # В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку <br /> <pre> {if $apps_pdfreport_enabled==1} <div class="es"> <a href="?format=pdf" class="btn"> <i class="icon icon-print"></i> Печать </a> </div> {/if} </pre> <br /> Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа<br /> <pre>/apps/pdfreport/admin/template/realty_view.tpl</pre> сюда<br /> <pre>/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl</pre> <br /> Изменяя этот файл вы сможете добавить собственные стили отображения, контактные данные и логотип компании. == Использование шаблонов генерирования == При создании PDF используется следующий алгоритм использования шаблонов<br /><br /> 1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта <nowiki>http://domain/realty385?format=pdf</nowiki>. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.<br /><br /> 2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Папки перечислены в порядке, в котором будет проводиться проверка наличия указанного файла.<br /><br /> 3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/<br /> - папке /apps/pdfreport/admin/template/<br /> Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым)<br /> - папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> - папке /apps/pdfreport/admin/template/realty_view.tpl<br /><br /> Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl<br /> === Пример === Запросив <nowiki>http://domain/realty385?format=pdf</nowiki> вы получите сгенерированный документ на основании макета из /apps/pdfreport/admin/template/realty_view.tpl<br /> Если у вы создадите в шаблоне файл /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl, то по этому же запросу вы получите документ на основании макета из /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> Запросив <nowiki>http://domain/realty385?format=pdf&tpl=my_pdf_layout</nowiki> будет отдан документ на основании макета<br /> /template/frontend/ваш_шаблон/apps/pdfreport/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/my_pdf_layout.tpl<br /> либо, если его нет,<br /> /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl<br /> либо, если его нет,<br /> /apps/pdfreport/admin/template/realty_view.tpl<br /> == Макеты == Макеты для генерации документов PDF должны иметь расширение tpl, могут иметь в названии латинские буквы, цифры и подчеркивания.<br /> По сути, макет - это обычная законченная html-страница, которая должна включать все обязательные элементы разметки (html, head, body). Разметка должна быть валидной - все открытые теги, требующие закрываюего, должны быть закрыты. <br /> Макет должен включать в себя ссылки на ВСЕ необходимые ему для построения таблицы стилей и библиотеки. Сылки могут быть абсолютными, либо относительными. Для относительных необходимо использовать переменную '''{$_core_folder}''' для правильного ссылания на корень сайта. Логика указания ссылок на таблицы стилей аналогична и для указания источников изображений<br /> == Шрифты == Приложение поддерживает следующие значения для font-family в стилях шаблона arial (стоит отдавать предпочтение arialcyr) arialcyr verdana sans-serif - не поддерживает кириллицу times - не поддерживает кириллицу times-roman - не поддерживает кириллицу courier - не поддерживает кириллицу helvetica - не поддерживает кириллицу zapfdingbats - не поддерживает кириллицу symbol - не поддерживает кириллицу serif - не поддерживает кириллицу monospace - не поддерживает кириллицу fixed - не поддерживает кириллицу dejavu sans (оптимальный без засечек) dejavu sans mono dejavu serif (оптимальный с засечками) robotocondenced - поддержка данного шрифта не окончательна и может быть отменена == Опции листа на распечатку: == \apps\third\vendor\dompdf\dompdf\src\Options.php<br> ''Параметры к правке:'' private $defaultPaperSize = "a4";<br> private $defaultPaperOrientation = "landscape";<br> == Список форматов листа: == \apps\pdfreport\lib\dompdf\include\cpdf_adapter.cls.php 6383203ea54472f1d7f9343254dbc473a5643cae Приложение "Yandex.Realty Parser" 0 70 777 577 2019-06-07T09:53:56Z Kondin 1 wikitext text/x-wiki Приложение для реализации импорта объявлений на сайт из фидов составленных по формату Яндекс.Недвижимость<br /> == Установка == Распакуйте архив и загрузите в корень сайта, так чтобы /cron.php лежал в корне, а /apps/yandexrealty_parser/yandexrealty_parser.xml лежал именно по этому пути.</br> После этого обязательно зайдите в обновления и обновите приложение yandexrealty_parser.<br> Теперь зайдите в редактор форм и в таблице user_by_domain нажмите создать "Обработчик по-умолчанию" это иконка со звездочкой справа от названия таблицы.<br> Введите название обработчика "Источники парсинга XML".<br> После сохранения у вас в админке справа сверху должен появиться в меню Пользовательские пункт Источники парсинга XML.<br> Зайдите в этот пункт меню и можете добавить новую запись. Выберите пользователя и адрес URL для xml данных, например http://другойсайт.ru/yandex.xml<br> Также необходимо зайти в настройки во вкладку Yandex.Realty Parser установите (apps.yandexrealty_parser.use_image_cache) = 1 и (apps.yandexrealty_parser.create_yandex_category_structure) = 1<br> Теперь можно запустить парсинг объектов запустив в браузере http://вашсайт/cron.php - первый запуск загурзит только текстовые данные, после загрузки необходимо зайти в Приложения - Seo- оптимизация и нажмите там Обновить структуру.<br> Для загрузки картинок необходимо запустить: http://вашсайт/cron.php?parse_images=1 - при каждом запуске по-умолчанию идет парсинг 10 объявлений.<br> ВНИМАНИЕ!!! Рекомендуется запускать парсинг сначала на тестовом сайте, так как эта операция загуржает в базе большое количество данных, в некоторых xml их может быть больше 10 тыс.<br> <br> Можно добавить задачи в планировщик, чтобы они автоматически запускались <br> Например, строчка запуска парсинга XML раз в 30 минут<br> */30 * * * * /usr/bin/wget -O /dev/null -q http://вашсайт/cron.php Пример запуска парсинга картинок раз в 5 минут<br> */5 * * * * /usr/bin/wget -O /dev/null -q http://вашсайт/cron.php?parse_images=1 == Требования == Приложение требует дополнения модели полем url (тип safe_string) для хранения признака идентичности, если не используется настройка '''apps.yandexrealty_parser.use_internalids''', предписывающая сличать объекты по внешнему ID<br /> == Сличение объектов == Объекты в фиде и объекты на сайте проходят сличение для того, что бы определить какие объекты являются аналогичными в фиде и в сайте и подлежат обновлению, а какие являются новыми и требуют вставки. Сличение может проводиться либо по полю модели объекта data с именем url, в котором хранится урл объявления из xml-фида, либо по идентификатору объекта в БД, который может соответствовать аналогичному в xml-фиде.<br /> Переключение между этими двумя режимами выполняется настройкой '''Использовать internal-id в качестве ID (apps.yandexrealty_parser.use_internalids)'''. При ее включении объекты будут добавляться в сайт с идентификаторами равными идентификаторам объектов в xml-фиде.<br /> == Перелинковка категорий == Для активации этого режима включите две опции в Настройках Использовать переключатель активности для категорий (use_topic_publish_status) и Включить переадресацию категорий (use_topic_linker) При парсинге будет создаваться структура яндексовая в структуре.<br /> Сейчас создался раздел Аренда.<br /> Их можно выключить если в редактировании раздела убрать галочку Раздел активен и тогда раздел будет отмечен оранжевым, т.е. он будет виден в админке но не будет виден на сайте и при добавлении объектов его не будет видно.<br /> Чтобы перекидывать объекты из этого нового раздела в существующий в структуре есть кнопка Переадресация категорий.<br /> Там можно в средней колонке выбирать куда перенаправлять объявления (выпадающий список и сохранить потом).<br /> Часто бывает так, что в одном разделе собирается куча объектов по разным количествам комнат.<br /> Например, раздел Аренда – Жилая – Квартира и в него будут приходить все квартиры не зависимо от количества комнат.<br /> Если вам нужно разделить на своем сайте количество комнат в каждый отдельный раздел, тогда нужно заполнять поле system.PARAMS<br /> Туда нужно вписывать идентификатор категории и признак указывающий на количество комнат.<br /> Например, <br /> {"23":[{"number":1}],"24":[{"number":2}],"25":[{"number":3}],"26":[{"number":4}]}<br /> В этом правиле следующая логика<br /> ''Объекты с количеством комнат 1 будут перекидываться в раздел с идентификатором 23<br /> Объекты с количеством комнат 2 будут перекидываться в раздел с идентификатором 24<br /> Объекты с количеством комнат 3 будут перекидываться в раздел с идентификатором 25<br /> Объекты с количеством комнат 4 и более будут перекидываться в раздел с идентификатором 26<br /> ''<br /> Для того чтобы учитывался параметр new_flat (новостройка), можно расширить условия так<br /> {"23":[{"number":1},{"new_flat":0}],"24":[{"number":2},{"new_flat":0}],"25":[{"number":3},{"new_flat":0}],"26":[{"number":4},{"new_flat":0}],"33":[{"number":1},{"new_flat":1}],"34":[{"number":2},{"new_flat":1}],"35":[{"number":3},{"new_flat":1}],"36":[{"number":4},{"new_flat":1}]}<br /> Подробнее про перелинковку можно узнать на форуме https://www.sitebill.ru/s/topic/2723-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0-%D0%B4%D0%BB%D1%8F-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8-%D0%BE%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B8%D0%B7-%D0%B0%D0%B2%D0%B8%D1%82%D0%BE/?page=2<br /><br /> == Парсинг географии == При парсинге разбираются следующие параметры расположения - страна, регион, район области, город, район города, улица, номер дома.<br /> Географические значения размещаются в базе двумя способами - несвязанным, когда каждый параметр географии не содержит ссылки на своего родителя и это же отсуствие связи соблюдается в данных объявления, и связанном - когда для размещения каждого следующего значения географии необходимо найти соотвествующий или разместить параметр с предыдущего уровня.<br /> В связанном режиме загрузки могут учитываться стандартные связи в модели объявления или, при включенной настройке apps.realty_off_system_ajax, пользовательские связи. Основными выступают связи указанные в модели объявления. Если в модели объявления у Вас указана зависимость улицы от города, а в модели улицы будет указана ее зависимость от района, то при парсинге будет учитываться именно первый вариант, но не второй.<br /> При связанном режиме '''НЕ БУДУТ ДОБАВЛЯТЬСЯ''' те географические уровни, для которых не удалось определить родительский объект, если он требуется. Например, если в выгрузке пропущено указание региона, а указаны только страна и город, но в модели объявления указаны связи вида Страна - Регион - Город, то для загружаемого объявления будет указана только страна, так как определить и добавить город не будет возможности из-за отсуствия промежуточного звена Регион.<br /> По умолчанию используется режим несвязанного добавления географии.<br /> === Несвязанный режим === Используется при выключенной настройке apps.yandexrealty_parser.connected_geo<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта без учета связок с другими уровнями. Поиск подходящего существующего объекта географии производится по текстовому названию. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня.<br /> Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя. === Стандартный связанный режим === Используется при включенной настройке apps.yandexrealty_parser.connected_geo и выключенной apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными настройками: <pre> Ajax - обновление региона (apps.realty.ajax_region_refresh) Ajax - обновление города (apps.realty.ajax_city_refresh) Ajax - обновление района (apps.realty.ajax_district_refresh) Ajax - обновление метро (apps.realty.ajax_metro_refresh) Ajax - обновление улицы (apps.realty.ajax_street_refresh) link_metro_to_district link_street_to_city </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соотвествующей привязкой к родительскому уровню.<br /> Например, если на парсинг пришел объект с названием региона "Тверская область" и названием города "Тверь", то в списке существующих городов будет выполнен поиск региона с именем "Тверская область", а потом поиск города с именем "Тверь", который имеет привязку к найденому ранее региону. Если город не будет найден, но вставка его не запрещена, то такой город будет добавлен в список городов и присвоен данным объекта. Если же не будет найден такой регион, и возможности вставки его не будет, то ни регион, ни город не будут добавлены, а в объекте поля, отвечающие за регион и город не будут проинициализированы. Определяются названия страны, региона, города, района города, улицы и номер дома. Определенные значения размещаются в поля модели объекта: country_id, region_id, city_id, district_id, street_id, number. Изменить поля-приемщики данных нельзя.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> ID региона для города Москва (apps.yandexrealty_parser.moscow_region_id) ID региона для города СПБ (apps.yandexrealty_parser.spb_region_id) </pre> Данные две настройки позволяют указать в числовом виде '''идентификатор региона''' в котором следует искать названия городов для г. Москва и для г. СПБ, так как определить регион из данных XML невозможно. Установка этих значений создает ситуацию, имитирующую случай, что регион удалось определить и цепочка не разорвана. Сам регион, идентификатор которого будет указан в этих настройках, должен быть создан администратором и надлежащим способом связан с соответствующим объектов верхнего уровня. === Пользовательский связанный режим === Используется при включенных настройках apps.yandexrealty_parser.connected_geo и apps.realty.off_system_ajax<br /> География парсится по уровням. Каждый уровень раскладывается в соотв. таблицу географический сущностей и в соотв. поле в модели объекта с учетом связок с другими уровнями обусловленными параметрами элементов модели объекта linked и depended. Парсер, на основании указанных Вами параметров элементов модели linked и depended, выстроит цепочки зависимостей элементов друг от друга и будет соблюдать их иерархию при вставке.<br /> Для этого режима Вам необходимо указать или изменить настройки описывающие имена полей-приемщиков в модели объекта <pre> Системное имя поля модели для хранения названия страны (apps.yandexrealty_parser.country_field) Указывает поле-приемщик для имени страны из тега <country> XML-фида Системное имя поля модели для хранения названия региона (apps.yandexrealty_parser.region_field) Указывает поле-приемщик для имени региона из тега <region> XML-фида Системное имя поля модели для хранения названия района области (apps.yandexrealty_parser.district_field) Указывает поле-приемщик для имени района области из тега <district> XML-фида Системное имя поля модели для хранения названия города (apps.yandexrealty_parser.locality_field) Указывает поле-приемщик для имени города из тега <locality-name> XML-фида Системное имя поля модели для хранения названия района города (apps.yandexrealty_parser.sublocality_field) Указывает поле-приемщик для имени района района города из тега <sub-locality-name> XML-фида Системное имя поля модели для хранения названия метро (apps.yandexrealty_parser.metro_field) Указывает поле-приемщик для имени метро из тега <metro> XML-фида Системное имя поля модели для хранения названия улицы (apps.yandexrealty_parser.street_field) Указывает поле-приемщик для имени улицы из тега <address> XML-фида </pre> Поиск подходящего существующего объекта географии производится по текстовому названию с учетом привязки к родительскому уровню. Если поиск не даст результата и вставка данного уровня не запрещена, то будет добавлено новая единица в таблице данного уровня с соответствующей привязкой к родительскому уровню.<br /> Невозможность определить или вставить очередной уровень с зависимостью от его задекларированных родителей приведет к обрыву вставки всех нижеследующих уровней.<br /> Определяются названия страны, региона, района области, города, района города, улицы и номер дома.<br /> Так как формат ЯН допускает "пропадание" частей географической цепочки для городов Москва и СПБ, то разобрать географию таких объектов для сайте, где указана зависимость города от региона не удастся. Для исправления этой ситуации служат две настройки данного приложения: <pre> Привязка начала цепочки для города СПБ (apps.yandexrealty_parser.spb_link) Привязка начала цепочки для города Москва (apps.yandexrealty_parser.moscow_link) </pre> Данные две настройки позволяют указать в виде "системное_имя_поля=числовой_идентификатор" точку отсчета для вставки географии. Например мы имеем город с именем "СПБ" и его ID=12 в нашей базе городов. Этот город расположен в регионе "Северная Россия", который расположен в стране "Россия". А сами города указываются в нашей модели объекта в поле с именем city_id. Так как для Санкт-Петербурга в выгрузке регион не будет передан совсем, мы не сможем вставить эти данные на сайт из-за разрыва в цепочке. Для этого мы можем указать в настройке '''apps.yandexrealty_parser.spb_link''' значение "city_id=12". Это будет означать, что если парсер найдет в данных XML значение <locality-name>Санкт-Петербург</locality-name>, он извлечет из БД всю иерархию уровней выше city_id для объекта географии размещенного под ID=12 и начнет анализ географии из xml уже с этой точки - определит район города, улицу, метро и вставит, при возможности, все это уже относительно объекта географии с city_id=12. == Настройки == '''apps.yandexrealty_parser.default_activity_status - Статус активности для добавляемых записей''' :''Тип: чекбокс'' Статус активности для добавляемых записей. В случае, если параметр выбран, записи, добавляемы парсером, будут активны. В противном случае, добавляемы записи будут вставляться в БД в неактивном состоянии. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.default_user_id - Пользователь по умолчанию''' :''Тип: число'' ID пользователя по умолчанию. Если 0 или не указано, то ID пользователя для вставляемых парсером записей будет браться из таблицы доменов. Если не 0 (а любое другое числовое значение), то в качестве user_id для позиции будет использоваться это значение и оно будет расцениваться как ID существующего в БД пользователя, но не будет проверяться парсером. Т.е. если в этот параметр будет установлено значение 5, то все записи будут привязаны к пользователю с ID=5, но икоим образом не будет проверен тот факт существует ли на самом деле в БД пользователь с таким ID. <br /> ''Переопределяется параметром '''apps.mlsparser.default_user_id''' MLS Parser'' '''apps.yandexrealty_parser.allow_create_new_category - Разрешение на создание цепочек категорий''' :''Тип: чекбокс'' Если этот параметр выбран, то при парсинге буде проводиться анализ категории передаваемого объекта и, при отсутствии подходящей, будет создана соответствующая, куда и будет помещено объявление. ЯЕсли этот параметр не будет выбран, то, при отсутствии подходящей категории, новая категория создаваться не будет, а объявление будет помещено в категорию с ID из параметра '''apps.yandexrealty_parser.category_for_all'''. <br /> ''Наследуется MLS Parser'' '''apps.yandexrealty_parser.category_for_all - Категория по умолчанию''' :''Тип: число'' Если параметр '''apps.yandexrealty_parser.allow_create_new_category''' не установлен, все вставляемые парсером записи будут ассоциированы с категорией с ID указанным в этом параметре. Реальное существование категории с таким ID проверяться не будет. <br /> ''Наследуется MLS Parser'' 1b07cca3f73cc8e16e851fc046afc76607b8290e Перевод 0 38 780 673 2019-06-24T08:49:28Z Abushyk 2 wikitext text/x-wiki == Рекомендуемый быстрый способ перевода сайта == Вы можете использовать переводчик от Google, тут инструкция https://translate.google.com/manager/website/<br/> Это самый быстрый способ и не требует от вас дополнительных усилий.<br/> == Включение языков в настройках == Использовать мультиязычность (apps.language.use_langs) = '''1'''<br> Список языков (apps.language.languages) = '''ru=Русский|en=English|ua=Украинский'''<br> Код языка по умолчанию (apps.language.default_lang_code) = '''ru'''<br> Использовать технические значения как RU (apps.language.use_default_as_ru) = '''поставить галочку'''<br> === Перевод значения select_by_query === При использовании в свойствах объекта полей, которые ссылаются на свои объекты-таблицы (например поле Город в объявлении, которое представляет собой ссылку на объект города) в объект внедряются значения этого связанного объекта. Связь устанавливается в Редакторе форм путем указания таблицы-источника, ключа внешнего объекта и значения, которое будет использоваться в виде текстового представления. Для мультиязычных сайтов текстовые значения всех объектов должны иметь представления для каждого заявленного языка. Если в настроках Вы указали, что используется три языка - ru, en и es, значит для каждого тектового поля должны присутствовать значения переводов на каждый из них. Это означает, что стандартная модель объекта Город, которая состоит из двух полей city_id и name должна быть расширена еще полями name_en и name_es для хранения аналога текстового значения на английском и испанском. При получении объекта из базы именно эти поля будут использоваться для получения текстового значения. Другими словами, если у Вас в объявлении есть поле Город, то его название будет браться из полей name_en если текущий язык английский и из name_es, если - испанский. Но не всегда это необходимо. Если Вы используете названия городов на английском и Вам нет необходимости переводить их для других языков, так как англоязычные название более узнаваемы и приемлемы, то вы можете не создавать аналоги названий для других языков. Но в таком случае необходимо добавить параметр no_ml со значением 1 в каждое свойство всех моделей, которое ссылается на эту таблицу, чем просигнализировать системе, что нет необходимости искать языковой аналог для этого поля, а можно использовать одно единственное значение из name для всех языков. == Ручной перевод == Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для активации мультиязычного режима нужно включить в настройках во вкладке Редактор переводов опцию Использовать мультиязычность (apps.language.use_langs) - установите там значение 1.<br/> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.<br /> Например, нужно сделать перевод для поля text (описание) на английский язык (en).<br /> Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.<br /> В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.<br /> Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br /> Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. === Локализации === Языки подключаются в два этапа - этап локализации системы и этап локализации приложения ==== Этап локализации системы ==== Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language.<br /> В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1.<br /> Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык.<br /> ==== Этап локализации приложения ==== Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения. Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language.<br /> Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные ==== Редактор языков в админке ==== В новых версиях создан редактор языков в панели управления '''Приложения - Редактор переводов''' ==== Необходимые изменения в базе данных ==== Когда вы добавляете свой язык, вам необходимо добавить дополнительные поля в базе данных с помощью этих команд:<br /> alter table re_topic add column name_яз varchar(255);<br /> alter table re_menu_structure add column name_яз varchar(255);<br /> Где яз - это ваш языковой префикс. Например, если вы добавили японский язык, тогда яз = jp<br /> <br /> ==== Перевод шаблонов ==== <br/> Для того чтобы создавать языковые файлы в шаблоне, необходимо создать каталог в шаблоне<br/> /template/frontend/ваш_шаблон/language/ru/dictionary.ini (для русского языка)<br/> /template/frontend/ваш_шаблон/language/en/dictionary.ini (для английского языка)<br/> <br/> Вот пример dictionary.ini для русского языка<br/> LT_NEWS="Новости" LT_FOR_USER="Пользователю" LT_USEFUL="Полезное" LT_SPECIAL="Спецпредложение" LT_WE_OFFER="Мы предлагаем" LT_LIST="Список" LT_GRID="Сетка" LT_ORDER="Порядок" LT_SORTBY="Сортировать" LT_ORDER_UP="по возрастанию" LT_ORDER_DOWN="по убыванию" LT_SEARCH="Поиск" LT_VIEW_DETAILS="Подробнее" LT_CONTACT_AGENT="Связаться с агентом" LT_DESCRIPTION="Описание" LT_LOCATION="Расположение" LT_ADD_YOUR_OWN="Добавить свое объявление" LT_ADD_YOUR_OWN_DESC="На нашем сайте вы можете добавить информацию о своей недвижимости" LT_SCROLLUP="Наверх" LT_RENT_FLAT="Снять квартиру" LT_RENT_FLAT_DESC="Интересно арендовать, тогда заполните форму и мы подберем вам вариант" LT_MORTGAGES="Ипотека" LT_MORTGAGES_DESC="Быстро оформить ипотеку и жить в своей квартире, это проще чем думается." LT_SEARCH="Поиск" LT_NEW_OBJECTS="Новые объекты" LT_CONTACTUS="Написать нам" LT_ABOUT="О нас" Теперь внутри шаблона, например, в файле спец.предложений можно заменить слово Спец.предложения на языковую переменную, которая будет переводиться в соответствии с выбранным языком<br/> /template/frontend/ваш_шаблон/top_special.tpl<br/> Меняем слово Спец.предложения на {$L_SPECIAL_OFFERS}<br/> Обсудить на форуме https://www.sitebill.ru/s/topic/3345-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4-%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2/ <br /> ==== Функции перевода в коде PHP и шаблонах TPL ==== <br/> В коде PHP вместо выражений типа '''$title = "Заголовок";''' следует исползовать такое выражение '''$title = _e('Заголовок');'''<br /> Функция '''_e(string)''' - в случае если в настройках CMS не включены языки, то она просто вернет себя же при минимальном расходе ресурсов. Если же у нас включены языки, то эта функция сгенерирует md5-сумму данного слова и сделает запрос в базу на наличие перевода для текущего языка. Если этот перевод в хэш-таблице имеется, то будет возвращено переведенный текст. Если же в таблице переводов еще нет текста для этой md5-суммы, то при включенной опции '''apps.language.google_translate_api_key''' будет выполнена попытка перевода фразы с использованием Google translate API https://cloud.google.com/translate/docs/ После успешного перевода, в таблицу записывается перевод для этой фразы и возвращается результатом из функции '''_e(string)'''.<br /><br /> Аналогичным образом в шаблонах эта функция переопределана для использования в TPL файлах smarty '''{_e t="Привет мир!"}''' - этот код выведет перевод на выбранный язык или же просто выдаст эту же строчку, без включенного перевода. 0f7666c065b63a1a87201e07997d883cb4461779 781 780 2019-06-24T08:49:48Z Abushyk 2 wikitext text/x-wiki == Рекомендуемый быстрый способ перевода сайта == Вы можете использовать переводчик от Google, тут инструкция https://translate.google.com/manager/website/<br/> Это самый быстрый способ и не требует от вас дополнительных усилий.<br/> == Включение языков в настройках == Использовать мультиязычность (apps.language.use_langs) = '''1'''<br> Список языков (apps.language.languages) = '''ru=Русский|en=English|ua=Украинский'''<br> Код языка по умолчанию (apps.language.default_lang_code) = '''ru'''<br> Использовать технические значения как RU (apps.language.use_default_as_ru) = '''поставить галочку'''<br> === Перевод значения select_by_query === При использовании в свойствах объекта полей, которые ссылаются на свои объекты-таблицы (например поле Город в объявлении, которое представляет собой ссылку на объект города) в объект внедряются значения этого связанного объекта. Связь устанавливается в Редакторе форм путем указания таблицы-источника, ключа внешнего объекта и значения, которое будет использоваться в виде текстового представления. Для мультиязычных сайтов текстовые значения всех объектов должны иметь представления для каждого заявленного языка. Если в настроках Вы указали, что используется три языка - ru, en и es, значит для каждого тектового поля должны присутствовать значения переводов на каждый из них. Это означает, что стандартная модель объекта Город, которая состоит из двух полей city_id и name должна быть расширена еще полями name_en и name_es для хранения аналога текстового значения на английском и испанском. При получении объекта из базы именно эти поля будут использоваться для получения текстового значения. Другими словами, если у Вас в объявлении есть поле Город, то его название будет браться из полей name_en если текущий язык английский и из name_es, если - испанский. Но не всегда это необходимо. Если Вы используете названия городов на английском и Вам нет необходимости переводить их для других языков, так как англоязычные название более узнаваемы и приемлемы, то вы можете не создавать аналоги названий для других языков. Но в таком случае необходимо добавить параметр '''no_ml''' со значением 1 в каждое свойство всех моделей, которое ссылается на эту таблицу, чем просигнализировать системе, что нет необходимости искать языковой аналог для этого поля, а можно использовать одно единственное значение из name для всех языков. == Ручной перевод == Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7<br /> Для активации мультиязычного режима нужно включить в настройках во вкладке Редактор переводов опцию Использовать мультиязычность (apps.language.use_langs) - установите там значение 1.<br/> Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.<br /> Например, нужно сделать перевод для поля text (описание) на английский язык (en).<br /> Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.<br /> В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.<br /> Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br /> Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского. === Локализации === Языки подключаются в два этапа - этап локализации системы и этап локализации приложения ==== Этап локализации системы ==== Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language.<br /> В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1.<br /> Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык.<br /> ==== Этап локализации приложения ==== Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения. Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language.<br /> Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные ==== Редактор языков в админке ==== В новых версиях создан редактор языков в панели управления '''Приложения - Редактор переводов''' ==== Необходимые изменения в базе данных ==== Когда вы добавляете свой язык, вам необходимо добавить дополнительные поля в базе данных с помощью этих команд:<br /> alter table re_topic add column name_яз varchar(255);<br /> alter table re_menu_structure add column name_яз varchar(255);<br /> Где яз - это ваш языковой префикс. Например, если вы добавили японский язык, тогда яз = jp<br /> <br /> ==== Перевод шаблонов ==== <br/> Для того чтобы создавать языковые файлы в шаблоне, необходимо создать каталог в шаблоне<br/> /template/frontend/ваш_шаблон/language/ru/dictionary.ini (для русского языка)<br/> /template/frontend/ваш_шаблон/language/en/dictionary.ini (для английского языка)<br/> <br/> Вот пример dictionary.ini для русского языка<br/> LT_NEWS="Новости" LT_FOR_USER="Пользователю" LT_USEFUL="Полезное" LT_SPECIAL="Спецпредложение" LT_WE_OFFER="Мы предлагаем" LT_LIST="Список" LT_GRID="Сетка" LT_ORDER="Порядок" LT_SORTBY="Сортировать" LT_ORDER_UP="по возрастанию" LT_ORDER_DOWN="по убыванию" LT_SEARCH="Поиск" LT_VIEW_DETAILS="Подробнее" LT_CONTACT_AGENT="Связаться с агентом" LT_DESCRIPTION="Описание" LT_LOCATION="Расположение" LT_ADD_YOUR_OWN="Добавить свое объявление" LT_ADD_YOUR_OWN_DESC="На нашем сайте вы можете добавить информацию о своей недвижимости" LT_SCROLLUP="Наверх" LT_RENT_FLAT="Снять квартиру" LT_RENT_FLAT_DESC="Интересно арендовать, тогда заполните форму и мы подберем вам вариант" LT_MORTGAGES="Ипотека" LT_MORTGAGES_DESC="Быстро оформить ипотеку и жить в своей квартире, это проще чем думается." LT_SEARCH="Поиск" LT_NEW_OBJECTS="Новые объекты" LT_CONTACTUS="Написать нам" LT_ABOUT="О нас" Теперь внутри шаблона, например, в файле спец.предложений можно заменить слово Спец.предложения на языковую переменную, которая будет переводиться в соответствии с выбранным языком<br/> /template/frontend/ваш_шаблон/top_special.tpl<br/> Меняем слово Спец.предложения на {$L_SPECIAL_OFFERS}<br/> Обсудить на форуме https://www.sitebill.ru/s/topic/3345-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4-%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2/ <br /> ==== Функции перевода в коде PHP и шаблонах TPL ==== <br/> В коде PHP вместо выражений типа '''$title = "Заголовок";''' следует исползовать такое выражение '''$title = _e('Заголовок');'''<br /> Функция '''_e(string)''' - в случае если в настройках CMS не включены языки, то она просто вернет себя же при минимальном расходе ресурсов. Если же у нас включены языки, то эта функция сгенерирует md5-сумму данного слова и сделает запрос в базу на наличие перевода для текущего языка. Если этот перевод в хэш-таблице имеется, то будет возвращено переведенный текст. Если же в таблице переводов еще нет текста для этой md5-суммы, то при включенной опции '''apps.language.google_translate_api_key''' будет выполнена попытка перевода фразы с использованием Google translate API https://cloud.google.com/translate/docs/ После успешного перевода, в таблицу записывается перевод для этой фразы и возвращается результатом из функции '''_e(string)'''.<br /><br /> Аналогичным образом в шаблонах эта функция переопределана для использования в TPL файлах smarty '''{_e t="Привет мир!"}''' - этот код выведет перевод на выбранный язык или же просто выдаст эту же строчку, без включенного перевода. 4414fffcfeadda6535b5f0d1306290dd3474cb73 Приложение "Выгрузка ЦИАН" 0 7 782 483 2019-08-28T09:06:39Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 0.1.3 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml === Дополнительные фиды === С версии 0.3.2 есть возможность организовать простейшие дополнительные фиды выгрузки в формате CIAN v2 по набору определенных условий.<br /> 06b421da582e2ed8a9d9beb911283986f5e8b1b4 783 782 2019-08-28T09:07:46Z Abushyk 2 wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === {| class="wikitable" |- ! Текст заголовка !! Текст заголовка !! Текст заголовка |- | apps.cianexporter.text || Заменитель текста объявления || укажите текст, который будет выводиться в выгрузке в поле описания |- | Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки |} '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 0.1.3 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml === Дополнительные фиды === С версии 0.3.2 есть возможность организовать простейшие дополнительные фиды выгрузки в формате CIAN v2 по набору определенных условий.<br /> 920088c0fffef6258a3008f2840fadb715a6e2e3 784 783 2019-08-28T09:10:21Z Abushyk 2 Отмена правки 783, сделанной участником [[Special:Contribs/Abushyk|Abushyk]] ([[User talk:Abushyk|обс.]]) wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 0.1.3 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml === Дополнительные фиды === С версии 0.3.2 есть возможность организовать простейшие дополнительные фиды выгрузки в формате CIAN v2 по набору определенных условий.<br /> 06b421da582e2ed8a9d9beb911283986f5e8b1b4 785 784 2019-08-28T09:11:09Z Abushyk 2 Отмена правки 782, сделанной участником [[Special:Contribs/Abushyk|Abushyk]] ([[User talk:Abushyk|обс.]]) wikitext text/x-wiki Приложение для реализации экспорта объявлений на сайт http://www.cian.ru/<br /> Экспорту подлежат все активные объявления соответствующего раздела для которых установлен параметр "Экспорт в ЦИАН". === Требования === Приложение требует дополнения модели дополнительными полями (тут будет скл файл с запросами на вставку дополей). === Отсев объявлений === Однозначно будут отклонены для экспорта следующие объявления * с неуказанной ценой или ценой равной нулю * с названием валюты цены или ее кодом (в зависимости от настроек модели), которую невозможно идентифицировать или, которое удалось идентифицировать, но оно не является допустимым * с именем региона размещения, которое не указано, либо указано, но не может быть однозначно сопоставлено одному из названий из xml файла http://www.cian.ru/admin_areas.php * если удалось определить название региона и оно является "Москва" или "СПБ", но не удалось идентифицировать название станции метро согласно соответствующего файла xml (http://www.cian.ru/metros.php или http://www.cian.ru/metros.php?region=10), либо станция метро не указана вообще. * если не удалось определить из данных ни одного привязанного к объявлению контактного телефона * для объявления, которые отмечены как продажа, и у которых не удалось определить параметр "Тип продажи" Для остальных параметров, в случае неопределенности их значений, будут выставлены некоторые "нулевые" или "дефолтные" значения. === Логгирование === Приложение ведет запись логов эскпорта в файлы<br/> /cache/cianexporter_flatssell.last.log.xml - по продаже квартир<br/> /cache/cianexporter_flatsrent.last.log.xml - по аренде квартир<br/> /cache/cianexporter_lots.last.log.xml - по земельным участкам<br/> /cache/cianexporter_nonresidential.last.log.xml - по зарубежной<br/> Настройка экспорт Перед экспортом каждому разделу структуры каталога необходимо проассоциировать верный тип недвижимости. Делается это через административную часть приложение в разделе "Установка ассоциаций" === Отправка данных в CIAN.ru === Перед отправкой данных вам нужно проверить источник ваших данных с помощью специального валидатора http://www.cian.ru/nd/validator/<br/> Нужно проверить каждый тип выгрузки<br/> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Если будут ошибки при валидации, то вам нужно поправить соответствующие данные в объявлениях и заново проверить источник.<br/> После этого вы можете написать в службу тех.поддержки '''import@cian.ru''', указать свой ID в личном кабинете cian.ru и адреса источников данных. <br><br><br> Пример письма: Прошу добавить выгрузку объявлений в формате XML<br> ID аккаунта 1111111 <br> Аренда квартир и комнат http://ваш_сайт/cianexport/rent/<br/> Продажа квартир и комнат http://ваш_сайт/cianexport/sell/<br/> Аренда и продажа нежилых помещений http://ваш_сайт/cianexport/commerce/<br/> Аренда и продажа домов и земельных участков http://ваш_сайт/cianexport/lots/<br/> Отчеты отправлять сюда, пожалуйста<br> my@site.ru и manager@site.ru<br> === ВАЖНОЕ ЗАМЕЧАНИЕ! === У вас должен быть активировать тариф "Профессионал" в cian.ru, для того чтобы вашу выгрузку начали принимать. === Настройки === '''apps.cianexporter.text''' ''(Заменитель текста объявления)'' - укажите текст, который будет выводиться в выгрузке в поле описания<br /> '''apps.cianexporter.paid_ads''' ''(Платная выгрузка объявлений)'' - использовать приложение Биллинг для снятия сумм за выгрузку объявления со счета пользователя<br /> '''apps.cianexporter.sell''' ''(Поле:Значение отвечающие за признак продажи)'' - укажите системное имя поля и значение соответствующие продаже. Напр. optype:2<br /> '''apps.cianexporter.rent''' ''(Поле:Значение отвечающие за признак аренды)'' - укажите системное имя поля и значение соответствующие аренде. Напр. optype:1<br /> '''apps.cianexporter.region_id''' ''(ID административного региона, если известен)'' - укажите cian-идентификатор региона, если регион выгружаемых объявлений единый<br /> '''apps.cianexporter.default_currency''' ''(Код валюты цен (EUR/USD/RUB) для моновалютных сайтов)'' - укажите кода валюты цен объявлений на сайте<br /> '''apps.cianexporter.default_saletype''' ''(Тип продажи по умолчанию (F – свободная продажа, A – альтернатива))'' - укажите тип продажи для всех объявлений по продаже<br /> '''apps.cianexporter.max_days''' ''(Возраст в днях выгружаемых объявлений (0 - игнорировать))'' - укажите возраст объявлений, которые будут допущены к выгрузке, в днях.<br /> '''apps.cianexporter.use_days_limitation''' ''(Использовать ограничение доступности выгрузки по дням)'' - включает режим блокировки отдачи выгрузки по определенным дням недели<br /> '''apps.cianexporter.lots_days''' ''(Дни доступности выгрузки участков)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа домов и земельных участков" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.commerce_days''' ''(Дни доступности выгрузки коммерческой)'' - укажите дни недели доступности выгрузки объявлений "Аренда и продажа нежилых помещений" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.sale_days''' ''(Дни доступности выгрузки продажи квартир)'' - укажите дни недели доступности выгрузки объявлений "Продажа квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.rent_days''' ''(Дни доступности выгрузки аренды квартир) - укажите дни недели доступности выгрузки объявлений "Аренда квартир и комнат" в виде списка чисел от 1 до 7 через запятую (1-понедельник, 7-воскресенье)<br /> '''apps.cianexporter.use_billing_vipstatus_for_premium''' ''(Использовать VIP статус при включенном биллинге для выгрузки премиум-позиций)'' - включенная настройка предписывает устанавливать для объявления статус premium если используется биллинг и значение VIP-статуса на сайте является активным (эта настройка переопределяется настройкой apps.cianexporter.prom_by_billing)<br /> '''apps.cianexporter.total_square_flat''' ''(Системное имя общей площади для квартир и комнат)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_commercial''' ''(Системное имя общей площади для нежилой\коммерческой)'' - укажите системное имя поля содержащего значение общей площади для квартир и комнат<br /> '''apps.cianexporter.total_square_houses''' ''(Системное имя общей площади для домов)'' - укажите системное имя поля содержащего значение общей площади для домов<br /> '''apps.cianexporter.total_square_lots''' ''(Системное имя общей площади для участков)'' - укажите системное имя поля содержащего значение общей площади для участков<br /> '''apps.cianexporter.total_square_lots_m''' ''(Единица измерения общей площади для участков (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков<br /> '''apps.cianexporter.total_square_lh_lots''' ''(Системное имя общей площади участков для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_lots_m''' ''(Единица измерения общей площади участков для участков с домами (1-м2, 2-сот))'' - укажите единицу измерения значения общей площади для участков при экспорте участков с домами<br /> '''apps.cianexporter.total_square_lh_house''' ''(Системное имя общей площади дома для участков с домами)'' - укажите системное имя поля содержащего значение общей площади для дома при экспорте участков с домами<br /> '''apps.cianexporter.newbuilds_ch''' ''(Системное имя поля-чекбокса для обозначения новостройки)'' - укажите системное имя поля типа checkbox содержащее признак расположения в новостройке<br /> '''apps.cianexporter.unlim''' ''(Выгружать в ЦИАН все объявления)'' - указывает отправлять на выгрузку все активные объявления без фильтрации по признаку "выгружать в ЦИАН"<br /> '''apps.cianexporter.ceiling_f''' ''(Системное имя поля со значением высоты потолков)'' - укажите системное имя поля содержащего значение высоты потолков<br /> '''apps.cianexporter.year_f''' ''(Системное имя поля со значением года постройки здания)'' - укажите системное имя поля содержащего значение года постройки здания<br /> '''apps.cianexporter.prom_by_billing''' ''(Устанавливать статусы продвижения в зависимости от статусов биллинга)'' - настройка предписывает определять статусы продвижения объявления на основании статусов биллинга на сайте. По-умолчанию для определения premium в ЦИАН используется значение статуса Премиум, для top - VIP, для highlight - Выделено. Эта настройка отменяет действие настройки apps.cianexporter.use_billing_vipstatus_for_premium. Соответствия значений биллинг-статусов на сайте значениям статусов продвижения в ЦИАН можно изменить, указав системные имена в настройках apps.cianexporter.prom_highlight_mark, apps.cianexporter.prom_premium_mark, apps.cianexporter.prom_top_mark соответствующих значений<br /> '''apps.cianexporter.prom_highlight_mark''' ''(Системное имя поля установки выделения цветом)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего highlight-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие highlight-статуса ЦИАН<br /> '''apps.cianexporter.prom_premium_mark''' ''(Системное имя поля установки премиум-объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего premium-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие premium-статуса ЦИАН<br /> '''apps.cianexporter.prom_top_mark''' ''(Системное имя поля установки Топ 3 объявлений)'' - настройка служит для указания значения биллинг-статуса, при включенной настройке apps.cianexporter.prom_by_billing, соответствующего top-статусу продвижения ЦИАН. При выключенной настройке apps.cianexporter.prom_by_billing в этом поле можно указать системное имя поля типа checkbox отмеченное значение которого будет означать наличие top-статуса ЦИАН<br /> '''apps.cianexporter.inc_districts_to_locality''' ''(Добавлять район к locality)'' - включение этой настройки позволяет добавить в тег locality содержимое поля district_id в виде имени района области. Данное включение не срабатывает при нахождении объекта в регионах Москва и Санкт-Петербург<br /> === Логи === С версии 1.5.0 приложение хранит свои логи в папке cache/ в виде xml-файлов. Файлы логов являются ненакапливаемыми - после каждой выгрузки предыдущий лог заменяется новым.<br /> Логи выгрузки "Аренда квартир и комнат" хранятся в файле cianexporter_flatsrent.last.log.xml<br /> Логи выгрузки "Продажа квартир и комнат" хранятся в файле cianexporter_flatssell.last.log.xml<br /> Логи выгрузки "Аренда и продажа нежилых помещений" хранятся в файле cianexporter_nonresidential.last.log.xml<br /> Логи выгрузки "Аренда и продажа домов и земельных участков" хранятся в файле cianexporter_lots.last.log.xml c7ff1ff0ad8e1cbf1d4dfba06f102c05e201cab7 Приложение "Выгрузка ЦИАН 2" 0 95 786 2019-08-28T09:11:51Z Abushyk 2 Новая страница: «Приложение "Выгрузка ЦИАН 2"» wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" 39049592e5feec455a5f1af887b55633d9261be3 789 786 2019-08-28T09:13:47Z Abushyk 2 wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == == Дополнительные фиды == b3ae13ffd75abe40988f5318d784f2619532d7f4 790 789 2019-08-28T09:17:04Z Abushyk 2 /* Основные настройки */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Текст ячейки |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Текст ячейки |- | apps.cianexporter2.externals || Дополнительные объекты || Текст ячейки |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Текст ячейки |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Текст ячейки |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Текст ячейки |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Текст ячейки |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Текст ячейки |} == Дополнительные фиды == 7f7edb7791cd8a241aa19b2eb6e3ccf9a7bb1e7c 791 790 2019-08-28T09:19:08Z Abushyk 2 /* Основные настройки */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Текст ячейки |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Текст ячейки |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Текст ячейки |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Текст ячейки |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Текст ячейки |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Текст ячейки |} == Дополнительные фиды == a587d5c96c9112796ff57d97a5429860e9f16371 792 791 2019-08-28T09:27:22Z Abushyk 2 /* Основные настройки */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Текст ячейки |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Текст ячейки |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Текст ячейки |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Текст ячейки |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Текст ячейки |} == Дополнительные фиды == e05e82aca8481fd1971956cfdd43ba487fe3975e 793 792 2019-08-28T09:29:17Z Abushyk 2 /* Основные настройки */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Текст ячейки |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Текст ячейки |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Текст ячейки |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Текст ячейки |} == Дополнительные фиды == 0b26ab921cc3eafdf006cc1d7d858c9040f05829 794 793 2019-08-28T09:41:51Z Abushyk 2 /* Основные настройки */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Текст ячейки |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (1-5). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Текст ячейки |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Текст ячейки |} == Дополнительные фиды == 7135287d925437892f7b191e607d9e9364ec2c30 795 794 2019-08-28T09:42:09Z Abushyk 2 /* Основные настройки */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Текст ячейки |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Текст ячейки |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Текст ячейки |} == Дополнительные фиды == 8117b2e83c10e617787c80580c73ff532d8986bc 796 795 2019-08-28T09:45:34Z Abushyk 2 /* Основные настройки */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Текст ячейки |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные фиды == 7d3c123c7719fe7240b1e1af60b17661709fa17b 797 796 2019-08-28T09:52:41Z Abushyk 2 /* Основные настройки */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Дополнительные объекты, собираемые вместе с данными об объявлении. |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные фиды == 65dfa07f9e7856204b4cbbb635bd87f43329089c 798 797 2019-08-28T09:52:59Z Abushyk 2 wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Дополнительные объекты, собираемые вместе с данными об объявлении. |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные объекты == == Дополнительные фиды == 04afbc55837d3d806fdf96164fe8c9a44ad36b59 799 798 2019-08-28T09:54:56Z Abushyk 2 /* Основные настройки */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Дополнительные объекты, собираемые вместе с данными об объявлении. См. |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные объекты == == Дополнительные фиды == 9508d9e56d69bd2eed13241f881e7062031f4a9c 800 799 2019-08-28T09:55:21Z Abushyk 2 /* Основные настройки */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Дополнительные объекты, собираемые вместе с данными об объявлении. См. [[#Дополнительные объекты]] |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные объекты == == Дополнительные фиды == bec96d83e518a25e7e79a0d8aca8d6c14d5c0729 801 800 2019-08-28T09:56:50Z Abushyk 2 /* Дополнительные объекты */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Дополнительные объекты, собираемые вместе с данными об объявлении. См. [[#Дополнительные объекты]] |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные объекты == Если возникает необходимость в Маппере приложения обозначить условия на основании значений данных не самого объекта, а связанных с ним объектов, то необходимо декларировать эти объекты в настроке == Дополнительные фиды == a1c585c53308dd734bd175fbc43786cbb30b0571 802 801 2019-08-28T10:02:19Z Abushyk 2 /* Дополнительные объекты */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Дополнительные объекты, собираемые вместе с данными об объявлении. См. [[#Дополнительные объекты]] |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные объекты == Если возникает необходимость в Маппере приложения обозначить условия на основании значений данных не самого объекта, а связанных с ним объектов, то необходимо декларировать эти объекты в настройке '''apps.cianexporter2.externals'''.<br /> Например, у нас в приложении Жилые комплексы, каждый комплекс имеет признак-checkbox с системным именем is_newbuild, который обозначает является ли ЖК новостройкой или нет. А объявления имеют признак complex_id, который ссылается на один из ЖК из списка строений в базе Жилых комплексов. В Маппере мы имеем возможность создать условие для определения является ли выгружаемый объект объектом в новостройке. Логично предположить, что "новостроечность" объекта будет обозначать случай, когда объект привязан к ЖК у которого свойство is_newbuild отмечено. Но это свойство не объекта, а связанного с ним объекта.<br /> Для того, что бы реализовать такое условие, мы должны объявить подбор информации о связанном ЖК вместе с данными объявлений. Поэтому в настройке '''apps.cianexporter2.externals''' мы указываем следующую строку <pre>complex_id=complex</pre> == Дополнительные фиды == fdb24ad67b362fd078931bfd743a8f3b80411fb1 803 802 2019-08-28T10:06:21Z Abushyk 2 /* Дополнительные объекты */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Дополнительные объекты, собираемые вместе с данными об объявлении. См. [[#Дополнительные объекты]] |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные объекты == Если возникает необходимость в Маппере приложения обозначить условия на основании значений данных не самого объекта, а связанных с ним объектов, то необходимо декларировать эти объекты в настройке '''apps.cianexporter2.externals'''.<br /> Например, у нас в приложении Жилые комплексы, каждый комплекс имеет признак-checkbox с системным именем is_newbuild, который обозначает является ли ЖК новостройкой или нет. А объявления имеют признак complex_id, который ссылается на один из ЖК из списка строений в базе Жилых комплексов. В Маппере мы имеем возможность создать условие для определения является ли выгружаемый объект объектом в новостройке. Логично предположить, что "новостроечность" объекта будет обозначать случай, когда объект привязан к ЖК у которого свойство is_newbuild отмечено. Но это свойство не объекта, а связанного с ним объекта.<br /> Для того, что бы реализовать такое условие, мы должны объявить подбор информации о связанном ЖК вместе с данными объявлений. Поэтому в настройке '''apps.cianexporter2.externals''' мы указываем следующую строку <pre>complex_id=complex</pre> Она означает, что при сборке данных об объявлении при выгрузке, будет получен связанный через поле complex_id объект и его данные будут интегрированы в данные объекта под псевдонимом complex. И в прописівании условий мі сможем использовать запись вида <pre>complex.is_newbuild</pre> == Дополнительные фиды == 46e2b3dee249b939db2e9a952211b89e1c2b9fec 804 803 2019-08-28T10:07:13Z Abushyk 2 /* Дополнительные объекты */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Дополнительные объекты, собираемые вместе с данными об объявлении. См. [[#Дополнительные объекты]] |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные объекты == Если возникает необходимость в Маппере приложения обозначить условия на основании значений данных не самого объекта, а связанных с ним объектов, то необходимо декларировать эти объекты в настройке '''apps.cianexporter2.externals'''.<br /> Например, у нас в приложении Жилые комплексы, каждый комплекс имеет признак-checkbox с системным именем is_newbuild, который обозначает является ли ЖК новостройкой или нет. А объявления имеют признак complex_id, который ссылается на один из ЖК из списка строений в базе Жилых комплексов. В Маппере мы имеем возможность создать условие для определения является ли выгружаемый объект объектом в новостройке. Логично предположить, что "новостроечность" объекта будет обозначать случай, когда объект привязан к ЖК у которого свойство is_newbuild отмечено. Но это свойство не объекта, а связанного с ним объекта.<br /> Для того, что бы реализовать такое условие, мы должны объявить подбор информации о связанном ЖК вместе с данными объявлений. Поэтому в настройке '''apps.cianexporter2.externals''' мы указываем следующую строку <pre>complex_id=complex</pre> Она означает, что при сборке данных об объявлении при выгрузке, будет получен связанный через поле complex_id объект и его данные будут интегрированы в данные объекта под псевдонимом complex. И в прописівании условий мі сможем использовать запись вида <pre>complex.is_newbuild</pre> А для доступа к имени ЖК <pre>complex.name</pre> == Дополнительные фиды == ba217fdafeeff5631a2b101bd3909b23b8383108 Приложение "Выгрузка ЦИАН 2" 0 95 805 804 2019-08-28T10:09:23Z Abushyk 2 /* Дополнительные фиды */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Дополнительные объекты, собираемые вместе с данными об объявлении. См. [[#Дополнительные объекты]] |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные объекты == Если возникает необходимость в Маппере приложения обозначить условия на основании значений данных не самого объекта, а связанных с ним объектов, то необходимо декларировать эти объекты в настройке '''apps.cianexporter2.externals'''.<br /> Например, у нас в приложении Жилые комплексы, каждый комплекс имеет признак-checkbox с системным именем is_newbuild, который обозначает является ли ЖК новостройкой или нет. А объявления имеют признак complex_id, который ссылается на один из ЖК из списка строений в базе Жилых комплексов. В Маппере мы имеем возможность создать условие для определения является ли выгружаемый объект объектом в новостройке. Логично предположить, что "новостроечность" объекта будет обозначать случай, когда объект привязан к ЖК у которого свойство is_newbuild отмечено. Но это свойство не объекта, а связанного с ним объекта.<br /> Для того, что бы реализовать такое условие, мы должны объявить подбор информации о связанном ЖК вместе с данными объявлений. Поэтому в настройке '''apps.cianexporter2.externals''' мы указываем следующую строку <pre>complex_id=complex</pre> Она означает, что при сборке данных об объявлении при выгрузке, будет получен связанный через поле complex_id объект и его данные будут интегрированы в данные объекта под псевдонимом complex. И в прописівании условий мі сможем использовать запись вида <pre>complex.is_newbuild</pre> А для доступа к имени ЖК <pre>complex.name</pre> == Дополнительные фиды == С версии 0.3.2 есть возможность создавать дополнительные кастомные фиды. Стандартный фид продолжает существовать по алиасу из настройки '''apps.cianexporter2.standart_alias''' и подчиняться основным настройкам. 48f4dbe1f74eef6ac9d39b6fb4f5ecb5b1c647ab 806 805 2019-08-28T10:17:59Z Abushyk 2 /* Дополнительные фиды */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Дополнительные объекты, собираемые вместе с данными об объявлении. См. [[#Дополнительные объекты]] |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные объекты == Если возникает необходимость в Маппере приложения обозначить условия на основании значений данных не самого объекта, а связанных с ним объектов, то необходимо декларировать эти объекты в настройке '''apps.cianexporter2.externals'''.<br /> Например, у нас в приложении Жилые комплексы, каждый комплекс имеет признак-checkbox с системным именем is_newbuild, который обозначает является ли ЖК новостройкой или нет. А объявления имеют признак complex_id, который ссылается на один из ЖК из списка строений в базе Жилых комплексов. В Маппере мы имеем возможность создать условие для определения является ли выгружаемый объект объектом в новостройке. Логично предположить, что "новостроечность" объекта будет обозначать случай, когда объект привязан к ЖК у которого свойство is_newbuild отмечено. Но это свойство не объекта, а связанного с ним объекта.<br /> Для того, что бы реализовать такое условие, мы должны объявить подбор информации о связанном ЖК вместе с данными объявлений. Поэтому в настройке '''apps.cianexporter2.externals''' мы указываем следующую строку <pre>complex_id=complex</pre> Она означает, что при сборке данных об объявлении при выгрузке, будет получен связанный через поле complex_id объект и его данные будут интегрированы в данные объекта под псевдонимом complex. И в прописівании условий мі сможем использовать запись вида <pre>complex.is_newbuild</pre> А для доступа к имени ЖК <pre>complex.name</pre> == Дополнительные фиды == С версии 0.3.2 есть возможность создавать дополнительные кастомные фиды. Стандартный фид продолжает существовать по алиасу из настройки '''apps.cianexporter2.standart_alias''' и подчиняться основным настройкам.<br /> Для контроля за выгрузками используйте кнопку Выгрузки в странице приложения. Она ведет на страницу со списком всех ваших фидов. Для добавления нового фида используйте Создать новую выгрузку. Шаблон нового фида появляется ниже существующих. Параметры фида {| class="wikitable" |- ! Параметр !! Значение |- | Название || Произвольное текстовое имя фида. Не имеет отношения к процессу выгрузки и служит для более удобной идентификации |- | Адрес || Текст ячейки |- | Игнорировать лимиты пользователей || Текст ячейки |- | Активно || Текст ячейки |- | Тип объектов || Текст ячейки |} 2e1ec37f997f9846132bce18e92e73e4d4fda682 807 806 2019-08-28T10:19:54Z Abushyk 2 /* Дополнительные фиды */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Дополнительные объекты, собираемые вместе с данными об объявлении. См. [[#Дополнительные объекты]] |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные объекты == Если возникает необходимость в Маппере приложения обозначить условия на основании значений данных не самого объекта, а связанных с ним объектов, то необходимо декларировать эти объекты в настройке '''apps.cianexporter2.externals'''.<br /> Например, у нас в приложении Жилые комплексы, каждый комплекс имеет признак-checkbox с системным именем is_newbuild, который обозначает является ли ЖК новостройкой или нет. А объявления имеют признак complex_id, который ссылается на один из ЖК из списка строений в базе Жилых комплексов. В Маппере мы имеем возможность создать условие для определения является ли выгружаемый объект объектом в новостройке. Логично предположить, что "новостроечность" объекта будет обозначать случай, когда объект привязан к ЖК у которого свойство is_newbuild отмечено. Но это свойство не объекта, а связанного с ним объекта.<br /> Для того, что бы реализовать такое условие, мы должны объявить подбор информации о связанном ЖК вместе с данными объявлений. Поэтому в настройке '''apps.cianexporter2.externals''' мы указываем следующую строку <pre>complex_id=complex</pre> Она означает, что при сборке данных об объявлении при выгрузке, будет получен связанный через поле complex_id объект и его данные будут интегрированы в данные объекта под псевдонимом complex. И в прописівании условий мі сможем использовать запись вида <pre>complex.is_newbuild</pre> А для доступа к имени ЖК <pre>complex.name</pre> == Дополнительные фиды == С версии 0.3.2 есть возможность создавать дополнительные кастомные фиды. Стандартный фид продолжает существовать по алиасу из настройки '''apps.cianexporter2.standart_alias''' и подчиняться основным настройкам.<br /> Для контроля за выгрузками используйте кнопку Выгрузки в странице приложения. Она ведет на страницу со списком всех ваших фидов. Для добавления нового фида используйте Создать новую выгрузку. Шаблон нового фида появляется ниже существующих. Параметры фида {| class="wikitable" |- ! Параметр !! Значение |- | Название || Произвольное текстовое имя фида. Не имеет отношения к процессу выгрузки и служит для более удобной идентификации |- | Адрес || Алиас фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | Игнорировать лимиты пользователей || Выключает работу режима apps.cianexporter2.use_user_limits для данного фида. Если параметр не отмечен, то работает по текущим базовым настройкам |- | Активно || Включает\выключает активность фида |- | Тип объектов || Определяет выдавать ли в фид только активные объекты или выдавать все |} 9e7d3bfceffcee2d3a15daaae0da595e95c5d212 808 807 2019-08-28T10:20:21Z Abushyk 2 /* Дополнительные фиды */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Дополнительные объекты, собираемые вместе с данными об объявлении. См. [[#Дополнительные объекты]] |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные объекты == Если возникает необходимость в Маппере приложения обозначить условия на основании значений данных не самого объекта, а связанных с ним объектов, то необходимо декларировать эти объекты в настройке '''apps.cianexporter2.externals'''.<br /> Например, у нас в приложении Жилые комплексы, каждый комплекс имеет признак-checkbox с системным именем is_newbuild, который обозначает является ли ЖК новостройкой или нет. А объявления имеют признак complex_id, который ссылается на один из ЖК из списка строений в базе Жилых комплексов. В Маппере мы имеем возможность создать условие для определения является ли выгружаемый объект объектом в новостройке. Логично предположить, что "новостроечность" объекта будет обозначать случай, когда объект привязан к ЖК у которого свойство is_newbuild отмечено. Но это свойство не объекта, а связанного с ним объекта.<br /> Для того, что бы реализовать такое условие, мы должны объявить подбор информации о связанном ЖК вместе с данными объявлений. Поэтому в настройке '''apps.cianexporter2.externals''' мы указываем следующую строку <pre>complex_id=complex</pre> Она означает, что при сборке данных об объявлении при выгрузке, будет получен связанный через поле complex_id объект и его данные будут интегрированы в данные объекта под псевдонимом complex. И в прописівании условий мі сможем использовать запись вида <pre>complex.is_newbuild</pre> А для доступа к имени ЖК <pre>complex.name</pre> == Дополнительные фиды == С версии 0.3.2 есть возможность создавать дополнительные кастомные фиды. Стандартный фид продолжает существовать по алиасу из настройки '''apps.cianexporter2.standart_alias''' и подчиняться основным настройкам.<br /> Для контроля за выгрузками используйте кнопку '''Выгрузки''' в странице приложения. Она ведет на страницу со списком всех ваших фидов. Для добавления нового фида используйте '''Создать новую выгрузку'''. Шаблон нового фида появляется ниже существующих. Параметры фида {| class="wikitable" |- ! Параметр !! Значение |- | Название || Произвольное текстовое имя фида. Не имеет отношения к процессу выгрузки и служит для более удобной идентификации |- | Адрес || Алиас фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | Игнорировать лимиты пользователей || Выключает работу режима '''apps.cianexporter2.use_user_limits''' для данного фида. Если параметр не отмечен, то работает по текущим базовым настройкам |- | Активно || Включает\выключает активность фида |- | Тип объектов || Определяет выдавать ли в фид только активные объекты или выдавать все |} 8d9a8a2cefd69b753fcd44ee16987a959c858db8 809 808 2019-08-28T10:21:22Z Abushyk 2 /* Дополнительные фиды */ wikitext text/x-wiki Приложение "Выгрузка ЦИАН 2" == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Дополнительные объекты, собираемые вместе с данными об объявлении. См. [[#Дополнительные объекты]] |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные объекты == Если возникает необходимость в Маппере приложения обозначить условия на основании значений данных не самого объекта, а связанных с ним объектов, то необходимо декларировать эти объекты в настройке '''apps.cianexporter2.externals'''.<br /> Например, у нас в приложении Жилые комплексы, каждый комплекс имеет признак-checkbox с системным именем is_newbuild, который обозначает является ли ЖК новостройкой или нет. А объявления имеют признак complex_id, который ссылается на один из ЖК из списка строений в базе Жилых комплексов. В Маппере мы имеем возможность создать условие для определения является ли выгружаемый объект объектом в новостройке. Логично предположить, что "новостроечность" объекта будет обозначать случай, когда объект привязан к ЖК у которого свойство is_newbuild отмечено. Но это свойство не объекта, а связанного с ним объекта.<br /> Для того, что бы реализовать такое условие, мы должны объявить подбор информации о связанном ЖК вместе с данными объявлений. Поэтому в настройке '''apps.cianexporter2.externals''' мы указываем следующую строку <pre>complex_id=complex</pre> Она означает, что при сборке данных об объявлении при выгрузке, будет получен связанный через поле complex_id объект и его данные будут интегрированы в данные объекта под псевдонимом complex. И в прописівании условий мі сможем использовать запись вида <pre>complex.is_newbuild</pre> А для доступа к имени ЖК <pre>complex.name</pre> == Дополнительные фиды == С версии 0.3.2 есть возможность создавать дополнительные кастомные фиды. Стандартный фид продолжает существовать по алиасу из настройки '''apps.cianexporter2.standart_alias''' и подчиняться основным настройкам.<br /> Для контроля за выгрузками используйте кнопку '''Выгрузки''' в странице приложения. Она ведет на страницу со списком всех ваших фидов. Для добавления нового фида используйте '''Создать новую выгрузку'''. Шаблон нового фида появляется ниже существующих. Параметры фида {| class="wikitable" |- ! Параметр !! Значение |- | Название || Произвольное текстовое имя фида. Не имеет отношения к процессу выгрузки и служит для более удобной идентификации |- | Адрес || Алиас фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | Игнорировать лимиты пользователей || Выключает работу режима '''apps.cianexporter2.use_user_limits''' для данного фида. Если параметр не отмечен, то работает по текущим базовым настройкам |- | Активно || Включает\выключает активность фида |- | Тип объектов || Определяет выдавать ли в фид только активные объекты или выдавать все |- | Условия || Набор условий, определяющий какие объекты входят в набор выгружаемых. Условия задаются по аналогии с настройкой Маппера |} f85a9171cce6f7d3388c28600d4a92a343353560 810 809 2019-08-28T10:21:53Z Abushyk 2 wikitext text/x-wiki == Основные настройки == {| class="wikitable" |- ! Параметр !! Название !! Описание |- | apps.cianexporter2.export_mark || Поле checkbox-типа для участия в выгрузке || Системное имя поля типа checkbox отмеченное значение которого обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.date_field'''. |- | apps.cianexporter2.standart_alias || Алиас стандартной выгрузки || Алиас стандартного фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | apps.cianexporter2.externals || Дополнительные объекты || Дополнительные объекты, собираемые вместе с данными об объявлении. См. [[#Дополнительные объекты]] |- | apps.cianexporter2.date_field || Ситемное имя поля ограничивающей даты || Системное имя поля типа date или dtdatetime, значение которого значение которого в будущем относительно текущего момента, обозначает доступность для выгрузки в стандартном фиде. Ограничение работает одновременно с ограничением из настройки '''apps.cianexporter2.export_mark'''. |- | apps.cianexporter2.commercial_by_days || Использовать ограничение доступности выгрузки по дням для коммерческой || Включает режим доступности выгрузки коммерческих объектов в определенные дни, указанные в настройке '''apps.cianexporter2.commerce_allowed_days'''. Если выгрузка происходит вне дней, указанных в настройке '''apps.cianexporter2.commerce_allowed_days''', то коммерческие объекты не будут выдаваться в нее |- | apps.cianexporter2.commerce_allowed_days || Дни доступности выгрузки коммерческой || Указанные через запятую номера дней недели доступности коммерческих объектов. (1 - пн, 2 - вт, ... , 7 - вс). Например: ''1,2,3,4,5'' - с пн по пт. или ''1,3,5,7'' - пн, ср, пт, вс. Не допускается указание в виде диапазона (''1-5''). Если перечень дней доступности не будет указан, но будет включена настройка '''apps.cianexporter2.commercial_by_days''', то коммерческие объекты в фид не попадут. |- | apps.cianexporter2.use_user_limits || Использовать ограничение количества выгружаемых || Включение режима, ограничивающего количество выгружаемых объектов для каждого пользователя некоторым лимитом, указанным в данных его профиля (настройка '''apps.cianexporter2.user_profile_limit_field'''). |- | apps.cianexporter2.user_profile_limit_field || Системное имя поля с лимитом на выгрузку в профиле || Системное имя поля в модели объекта user в котором хранится числовое значение лимита выгружаемых объектов в фид для каждого пользователя. Если включен режим ограничения лимитами и в этой настройке не указано значение системного поля-источника или указано, но само поле в модели не существует или существует, но имеет не числовое значение, то лимит для этого пользователя будет установлен в 0. |} == Дополнительные объекты == Если возникает необходимость в Маппере приложения обозначить условия на основании значений данных не самого объекта, а связанных с ним объектов, то необходимо декларировать эти объекты в настройке '''apps.cianexporter2.externals'''.<br /> Например, у нас в приложении Жилые комплексы, каждый комплекс имеет признак-checkbox с системным именем is_newbuild, который обозначает является ли ЖК новостройкой или нет. А объявления имеют признак complex_id, который ссылается на один из ЖК из списка строений в базе Жилых комплексов. В Маппере мы имеем возможность создать условие для определения является ли выгружаемый объект объектом в новостройке. Логично предположить, что "новостроечность" объекта будет обозначать случай, когда объект привязан к ЖК у которого свойство is_newbuild отмечено. Но это свойство не объекта, а связанного с ним объекта.<br /> Для того, что бы реализовать такое условие, мы должны объявить подбор информации о связанном ЖК вместе с данными объявлений. Поэтому в настройке '''apps.cianexporter2.externals''' мы указываем следующую строку <pre>complex_id=complex</pre> Она означает, что при сборке данных об объявлении при выгрузке, будет получен связанный через поле complex_id объект и его данные будут интегрированы в данные объекта под псевдонимом complex. И в прописівании условий мі сможем использовать запись вида <pre>complex.is_newbuild</pre> А для доступа к имени ЖК <pre>complex.name</pre> == Маппер == == Дополнительные фиды == С версии 0.3.2 есть возможность создавать дополнительные кастомные фиды. Стандартный фид продолжает существовать по алиасу из настройки '''apps.cianexporter2.standart_alias''' и подчиняться основным настройкам.<br /> Для контроля за выгрузками используйте кнопку '''Выгрузки''' в странице приложения. Она ведет на страницу со списком всех ваших фидов. Для добавления нового фида используйте '''Создать новую выгрузку'''. Шаблон нового фида появляется ниже существующих. Параметры фида {| class="wikitable" |- ! Параметр !! Значение |- | Название || Произвольное текстовое имя фида. Не имеет отношения к процессу выгрузки и служит для более удобной идентификации |- | Адрес || Алиас фида. Может иметь произвольный вид, допустимый для URL страницы. Не указывается домен и протокол. Не используются лидирующие и замыкающие слеши. |- | Игнорировать лимиты пользователей || Выключает работу режима '''apps.cianexporter2.use_user_limits''' для данного фида. Если параметр не отмечен, то работает по текущим базовым настройкам |- | Активно || Включает\выключает активность фида |- | Тип объектов || Определяет выдавать ли в фид только активные объекты или выдавать все |- | Условия || Набор условий, определяющий какие объекты входят в набор выгружаемых. Условия задаются по аналогии с настройкой Маппера |} 7bb685a83e13a667abfd051a30a973386afcb177 Приложение "Резервации" 0 96 811 2019-09-06T07:27:12Z Abushyk 2 Новая страница: «Rates Рейт, ставка - стоимость дня бронирования при определенных условиях. Данный вид цены…» wikitext text/x-wiki Rates Рейт, ставка - стоимость дня бронирования при определенных условиях. Данный вид цены имеет два вида. Периодическая - цена применяемая при некоторых условиях периодично из года в год (например цена бронирования в январе составляет 1000 руб, а цена в декабре - 500, каждый год) периодическая цена за месяц - указывает цену бронирования в любой день в конкретном месяце, каждый год (напр. стоимость дня в июле каждый год - 2000руб) периодическая цена на некотором промежутке - указывает цену бронирования на определенном промежутке дат, каждый год (напр. стоимость дня с 1 июля по 15 июля каждый год - 4000руб) периодическая цена на выходные - указывает цену бронирования на выходные дни (сб, вс), каждый год (напр. стоимость бронирования в сб и вс каждый год - 2000руб) периодическая цена на конкретный день недели- указывает цену бронирования на конкретный день недели, каждый год (напр. стоимость бронирования в пн каждый год - 500руб) Сезонная - цена применяемая при некоторых условиях только в определенные промежутки (например с 1.06.2019 по 25.08.2019 стоимость бронирования в выходные должна составлять 1000 рублей в день). Сезонные цены полностью аналогчны периодичным, но отличаются тем, что их действие не повторяется каждый год, а применяется только в разках указанного для этой ставки "сезона" (промежутка времени от ХХ.ХХ.ХХХХ и до ХХ.ХХ.ХХХХ) Например стоимость бронирования в сезоне (1.01.2019 - 31.12.2019) в период с 1 июля по 15 июля - 4000руб. 3f5146b900b540edb5f63d4e77142d61bc2fc4ed 812 811 2019-09-06T07:27:50Z Abushyk 2 wikitext text/x-wiki == Rates == Рейт, ставка - стоимость дня бронирования при определенных условиях.<br /> Данный вид цены имеет два вида.<br /> '''Периодическая''' - цена применяемая при некоторых условиях периодично из года в год (например цена бронирования в январе составляет 1000 руб, а цена в декабре - 500, каждый год)<br /> периодическая цена за месяц - указывает цену бронирования в любой день в конкретном месяце, каждый год (напр. стоимость дня в июле каждый год - 2000руб)<br /> периодическая цена на некотором промежутке - указывает цену бронирования на определенном промежутке дат, каждый год (напр. стоимость дня с 1 июля по 15 июля каждый год - 4000руб)<br /> периодическая цена на выходные - указывает цену бронирования на выходные дни (сб, вс), каждый год (напр. стоимость бронирования в сб и вс каждый год - 2000руб)<br /> периодическая цена на конкретный день недели- указывает цену бронирования на конкретный день недели, каждый год (напр. стоимость бронирования в пн каждый год - 500руб)<br /> '''Сезонная''' - цена применяемая при некоторых условиях только в определенные промежутки (например с 1.06.2019 по 25.08.2019 стоимость бронирования в выходные должна составлять 1000 рублей в день). Сезонные цены полностью аналогчны периодичным, но отличаются тем, что их действие не повторяется каждый год, а применяется только в разках указанного для этой ставки "сезона" (промежутка времени от ХХ.ХХ.ХХХХ и до ХХ.ХХ.ХХХХ)<br /> Например стоимость бронирования в сезоне (1.01.2019 - 31.12.2019) в период с 1 июля по 15 июля - 4000руб.<br /> 2227a035aeb96db34b47448193638b8dd90cf564 813 812 2019-09-06T07:37:13Z Abushyk 2 wikitext text/x-wiki == Rates == Рейт, ставка - стоимость дня бронирования при определенных условиях.<br /> Данный вид цены имеет два вида.<br /> '''Периодическая''' - цена применяемая при некоторых условиях периодично из года в год (например цена бронирования в январе составляет 1000 руб, а цена в декабре - 500, каждый год)<br /> периодическая цена за месяц - указывает цену бронирования в любой день в конкретном месяце, каждый год (напр. стоимость дня в июле каждый год - 2000руб)<br /> периодическая цена на некотором промежутке - указывает цену бронирования на определенном промежутке дат, каждый год (напр. стоимость дня с 1 июля по 15 июля каждый год - 4000руб)<br /> периодическая цена на выходные - указывает цену бронирования на выходные дни (сб, вс), каждый год (напр. стоимость бронирования в сб и вс каждый год - 2000руб)<br /> периодическая цена на конкретный день недели- указывает цену бронирования на конкретный день недели, каждый год (напр. стоимость бронирования в пн каждый год - 500руб)<br /> '''Сезонная''' - цена применяемая при некоторых условиях только в определенные промежутки (например с 1.06.2019 по 25.08.2019 стоимость бронирования в выходные должна составлять 1000 рублей в день). Сезонные цены полностью аналогчны периодичным, но отличаются тем, что их действие не повторяется каждый год, а применяется только в разках указанного для этой ставки "сезона" (промежутка времени от ХХ.ХХ.ХХХХ и до ХХ.ХХ.ХХХХ)<br /> Например стоимость бронирования в сезоне (1.01.2019 - 31.12.2019) в период с 1 июля по 15 июля - 4000руб.<br /> Периодические цены используются для базового указания цен на месяц, в каком-то арендном сроке или в конкретные дни недели. С помощью сезонных цен можно выставить отличные цены для каких-то более локальных периодов, например массовые развлекательные акции в локации, праздничные периоды (для непериодичных праздников - время прохождения которых не статично в календаре из года в год), для определенных сезонов. c27513ad0fa8ffffa6f435beadb22fce117968b7 814 813 2019-09-06T07:37:42Z Abushyk 2 wikitext text/x-wiki == Rates == Рейт, ставка - стоимость дня бронирования при определенных условиях.<br /> Данный вид цены имеет два вида.<br /> '''Периодическая''' - цена применяемая при некоторых условиях периодично из года в год (например цена бронирования в январе составляет 1000 руб, а цена в декабре - 500, каждый год)<br /> периодическая цена за месяц - указывает цену бронирования в любой день в конкретном месяце, каждый год (напр. стоимость дня в июле каждый год - 2000руб)<br /> периодическая цена на некотором промежутке - указывает цену бронирования на определенном промежутке дат, каждый год (напр. стоимость дня с 1 июля по 15 июля каждый год - 4000руб)<br /> периодическая цена на выходные - указывает цену бронирования на выходные дни (сб, вс), каждый год (напр. стоимость бронирования в сб и вс каждый год - 2000руб)<br /> периодическая цена на конкретный день недели- указывает цену бронирования на конкретный день недели, каждый год (напр. стоимость бронирования в пн каждый год - 500руб)<br /> '''Сезонная''' - цена применяемая при некоторых условиях только в определенные промежутки (например с 1.06.2019 по 25.08.2019 стоимость бронирования в выходные должна составлять 1000 рублей в день). Сезонные цены полностью аналогчны периодичным, но отличаются тем, что их действие не повторяется каждый год, а применяется только в разках указанного для этой ставки "сезона" (промежутка времени от ХХ.ХХ.ХХХХ и до ХХ.ХХ.ХХХХ)<br /> Например стоимость бронирования в сезоне (1.01.2019 - 31.12.2019) в период с 1 июля по 15 июля - 4000руб.<br /> Периодические цены используются для базового указания цен на месяц, в каком-то арендном сроке или в конкретные дни недели. Эта цена повторяется из года в год. С помощью сезонных цен можно выставить отличные цены для каких-то более локальных периодов, например массовые развлекательные акции в локации, праздничные периоды (для непериодичных праздников - время прохождения которых не статично в календаре из года в год), для определенных сезонов. 85451b6e4c930699a6c3b4db211a746e3df54122 815 814 2019-09-06T07:41:44Z Abushyk 2 wikitext text/x-wiki == Rates == Рейт, ставка - стоимость дня бронирования при определенных условиях.<br /> Данный вид цены имеет два вида.<br /> '''Периодическая''' - цена применяемая при некоторых условиях периодично из года в год (например цена бронирования в январе составляет 1000 руб, а цена в декабре - 500, каждый год)<br /> периодическая цена за месяц - указывает цену бронирования в любой день в конкретном месяце, каждый год (напр. стоимость дня в июле каждый год - 2000руб)<br /> периодическая цена на некотором промежутке - указывает цену бронирования на определенном промежутке дат, каждый год (напр. стоимость дня с 1 июля по 15 июля каждый год - 4000руб)<br /> периодическая цена на выходные - указывает цену бронирования на выходные дни (сб, вс), каждый год (напр. стоимость бронирования в сб и вс каждый год - 2000руб)<br /> периодическая цена на конкретный день недели- указывает цену бронирования на конкретный день недели, каждый год (напр. стоимость бронирования в пн каждый год - 500руб)<br /> '''Сезонная''' - цена применяемая при некоторых условиях только в определенные промежутки (например с 1.06.2019 по 25.08.2019 стоимость бронирования в выходные должна составлять 1000 рублей в день). Сезонные цены полностью аналогчны периодичным, но отличаются тем, что их действие не повторяется каждый год, а применяется только в разках указанного для этой ставки "сезона" (промежутка времени от ХХ.ХХ.ХХХХ и до ХХ.ХХ.ХХХХ)<br /> Например стоимость бронирования в сезоне (1.01.2019 - 31.12.2019) в период с 1 июля по 15 июля - 4000руб.<br /> Периодические цены используются для базового указания цен на месяц, в каком-то арендном сроке или в конкретные дни недели. Эта цена повторяется из года в год. С помощью сезонных цен можно выставить отличные цены для каких-то более локальных периодов, например массовые развлекательные акции в локации, праздничные периоды (для непериодичных праздников - время прохождения которых не статично в календаре из года в год), для определенных сезонов. Например, мы хотим сдавать объект посуточно. В целом его стоимость за день будет равна 100 все месяцы, кроме летних. Используем "периодическая цена за месяц" для указания цены на месяцы 1-5 и 10-12. Используем "периодическая цена за месяц" для указания цены в месяцах 6-9. Но в 2020 году в нашей локации происходит слет пионеров с 15.07 по 25.07. используем "сезонную ценуна не котором промежутке" для указания отличной цены за день в этом временном промежутке. По прохождении 25.07.2020 цена за день вернется к цене указанной в "периодическая цена за месяц" в месяцах 6-9. 41cd95bccc2f6af748882a38b6c1dc85cf233671 816 815 2019-09-09T05:10:17Z Abushyk 2 /* Rates */ wikitext text/x-wiki == Rates == Рейт, ставка - стоимость дня бронирования при определенных условиях.<br /> Данный вид цены имеет два вида.<br /> '''Периодическая''' - цена применяемая при некоторых условиях периодично из года в год (например цена бронирования в январе составляет 1000 руб, а цена в декабре - 500, каждый год)<br /> периодическая цена за месяц - указывает цену бронирования в любой день в конкретном месяце, каждый год (напр. стоимость дня в июле каждый год - 2000руб)<br /> -----периодическая цена на некотором промежутке - указывает цену бронирования на определенном промежутке дат, каждый год (напр. стоимость дня с 1 июля по 15 июля каждый год - 4000руб)<br /> периодическая цена на выходные - указывает цену бронирования на выходные дни (сб, вс), каждый год (напр. стоимость бронирования в сб и вс каждый год - 2000руб)<br /> периодическая цена на конкретный день недели- указывает цену бронирования на конкретный день недели, каждый год (напр. стоимость бронирования в пн каждый год - 500руб)<br /> '''Сезонная''' - цена применяемая при некоторых условиях только в определенные промежутки (например с 1.06.2019 по 25.08.2019 стоимость бронирования в выходные должна составлять 1000 рублей в день). Сезонные цены полностью аналогчны периодичным, но отличаются тем, что их действие не повторяется каждый год, а применяется только в разках указанного для этой ставки "сезона" (промежутка времени от ХХ.ХХ.ХХХХ и до ХХ.ХХ.ХХХХ)<br /> Например стоимость бронирования в сезоне (1.01.2019 - 31.12.2019) в период с 1 июля по 15 июля - 4000руб.<br /> Периодические цены используются для базового указания цен на месяц, в каком-то арендном сроке или в конкретные дни недели. Эта цена повторяется из года в год. С помощью сезонных цен можно выставить отличные цены для каких-то более локальных периодов, например массовые развлекательные акции в локации, праздничные периоды (для непериодичных праздников - время прохождения которых не статично в календаре из года в год), для определенных сезонов. Например, мы хотим сдавать объект посуточно. В целом его стоимость за день будет равна 100 все месяцы, кроме летних. Используем "периодическая цена за месяц" для указания цены на месяцы 1-5 и 10-12. Используем "периодическая цена за месяц" для указания цены в месяцах 6-9. Но в 2020 году в нашей локации происходит слет пионеров с 15.07 по 25.07. используем "сезонную ценуна не котором промежутке" для указания отличной цены за день в этом временном промежутке. По прохождении 25.07.2020 цена за день вернется к цене указанной в "периодическая цена за месяц" в месяцах 6-9. 447767a2b6f94f1e6638e2e81379c78d5f8a3f28 817 816 2019-09-09T05:11:13Z Abushyk 2 /* Rates */ wikitext text/x-wiki == Rates == Рейт, ставка - стоимость дня бронирования при определенных условиях.<br /> Данный вид цены имеет два вида.<br /> '''Периодическая''' - цена применяемая при некоторых условиях периодично из года в год (например цена бронирования в январе составляет 1000 руб, а цена в декабре - 500, каждый год)<br /> периодическая цена за месяц - указывает цену бронирования в любой день в конкретном месяце, каждый год (напр. стоимость дня в июле каждый год - 2000руб)<br /> ~~периодическая цена на некотором промежутке - указывает цену бронирования на определенном промежутке дат, каждый год (напр. стоимость дня с 1 июля по 15 июля каждый год - 4000руб)~~<br /> периодическая цена на выходные - указывает цену бронирования на выходные дни (сб, вс), каждый год (напр. стоимость бронирования в сб и вс каждый год - 2000руб)<br /> периодическая цена на конкретный день недели- указывает цену бронирования на конкретный день недели, каждый год (напр. стоимость бронирования в пн каждый год - 500руб)<br /> '''Сезонная''' - цена применяемая при некоторых условиях только в определенные промежутки (например с 1.06.2019 по 25.08.2019 стоимость бронирования в выходные должна составлять 1000 рублей в день). Сезонные цены полностью аналогчны периодичным, но отличаются тем, что их действие не повторяется каждый год, а применяется только в разках указанного для этой ставки "сезона" (промежутка времени от ХХ.ХХ.ХХХХ и до ХХ.ХХ.ХХХХ)<br /> Например стоимость бронирования в сезоне (1.01.2019 - 31.12.2019) в период с 1 июля по 15 июля - 4000руб.<br /> Периодические цены используются для базового указания цен на месяц, в каком-то арендном сроке или в конкретные дни недели. Эта цена повторяется из года в год. С помощью сезонных цен можно выставить отличные цены для каких-то более локальных периодов, например массовые развлекательные акции в локации, праздничные периоды (для непериодичных праздников - время прохождения которых не статично в календаре из года в год), для определенных сезонов. Например, мы хотим сдавать объект посуточно. В целом его стоимость за день будет равна 100 все месяцы, кроме летних. Используем "периодическая цена за месяц" для указания цены на месяцы 1-5 и 10-12. Используем "периодическая цена за месяц" для указания цены в месяцах 6-9. Но в 2020 году в нашей локации происходит слет пионеров с 15.07 по 25.07. используем "сезонную ценуна не котором промежутке" для указания отличной цены за день в этом временном промежутке. По прохождении 25.07.2020 цена за день вернется к цене указанной в "периодическая цена за месяц" в месяцах 6-9. 3690fb726e4d9c9bbced94c694314e3f9402b135 818 817 2019-09-09T05:12:03Z Abushyk 2 /* Rates */ wikitext text/x-wiki == Rates == Рейт, ставка - стоимость дня бронирования при определенных условиях.<br /> Данный вид цены имеет два вида.<br /> '''Периодическая''' - цена применяемая при некоторых условиях периодично из года в год (например цена бронирования в январе составляет 1000 руб, а цена в декабре - 500, каждый год)<br /> периодическая цена за месяц - указывает цену бронирования в любой день в конкретном месяце, каждый год (напр. стоимость дня в июле каждый год - 2000руб)<br /> <del>периодическая цена на некотором промежутке - указывает цену бронирования на определенном промежутке дат, каждый год (напр. стоимость дня с 1 июля по 15 июля каждый год - 4000руб)</del><br /> периодическая цена на выходные - указывает цену бронирования на выходные дни (сб, вс), каждый год (напр. стоимость бронирования в сб и вс каждый год - 2000руб)<br /> периодическая цена на конкретный день недели- указывает цену бронирования на конкретный день недели, каждый год (напр. стоимость бронирования в пн каждый год - 500руб)<br /> '''Сезонная''' - цена применяемая при некоторых условиях только в определенные промежутки (например с 1.06.2019 по 25.08.2019 стоимость бронирования в выходные должна составлять 1000 рублей в день). Сезонные цены полностью аналогчны периодичным, но отличаются тем, что их действие не повторяется каждый год, а применяется только в разках указанного для этой ставки "сезона" (промежутка времени от ХХ.ХХ.ХХХХ и до ХХ.ХХ.ХХХХ)<br /> Например стоимость бронирования в сезоне (1.01.2019 - 31.12.2019) в период с 1 июля по 15 июля - 4000руб.<br /> Периодические цены используются для базового указания цен на месяц, в каком-то арендном сроке или в конкретные дни недели. Эта цена повторяется из года в год. С помощью сезонных цен можно выставить отличные цены для каких-то более локальных периодов, например массовые развлекательные акции в локации, праздничные периоды (для непериодичных праздников - время прохождения которых не статично в календаре из года в год), для определенных сезонов. Например, мы хотим сдавать объект посуточно. В целом его стоимость за день будет равна 100 все месяцы, кроме летних. Используем "периодическая цена за месяц" для указания цены на месяцы 1-5 и 10-12. Используем "периодическая цена за месяц" для указания цены в месяцах 6-9. Но в 2020 году в нашей локации происходит слет пионеров с 15.07 по 25.07. используем "сезонную ценуна не котором промежутке" для указания отличной цены за день в этом временном промежутке. По прохождении 25.07.2020 цена за день вернется к цене указанной в "периодическая цена за месяц" в месяцах 6-9. 7ea0759957bbf5993e11025bd9ae8bc49537a03d Типы элементов форм 0 44 819 759 2019-10-25T05:55:43Z Kondin 1 wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. eab22c91b38ec8411d07569e94c8cdf0fec482a9 822 819 2019-11-11T11:06:10Z Kondin 1 wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == compose == Коллекция медиаобъектов в виде присоединенных файлов == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. 122375a235300ca8a5d88f6228bdc0a920c5d755 823 822 2019-11-11T11:10:43Z Kondin 1 wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == compose == Это составной элемент. Используется только для отображения (нельзя редактировать напрямую значения, так как он состоит из значений других полей). <br> В parameters задается список колонок columns.<br> Пример, колонка '''address_composed''' содержит параметры: '''columns''' = '''city_id,district_id,street_id,number'''<br> При выводе этого поля будет составлен набор из значений колонок city_id,district_id,street_id,number == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. c4b84f9d12e49b85e398f1116577dff0bb3785d4 824 823 2019-11-12T04:51:55Z Kondin 1 wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == compose == Это составной элемент. Используется только для отображения (нельзя редактировать напрямую значения, так как он состоит из значений других полей). <br> В parameters задается список колонок columns.<br> Пример, колонка '''address_composed''' содержит параметры: <br> '''columns''' = '''city_id,district_id,street_id,number'''<br> '''separator''' = '''/'''<br> При выводе этого поля будет составлен набор из значений колонок city_id,district_id,street_id,number<br> separator - будет служить для склейки значений. Например, через символ /. По-умолчанию , == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. 9b85b6facfa17cfce001236e003b6c2ef1029a55 825 824 2019-11-14T04:33:33Z Kondin 1 wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == compose == Это составной элемент. Используется только для отображения (нельзя редактировать напрямую значения, так как он состоит из значений других полей). <br> В parameters задается список колонок columns.<br> Пример, колонка '''address_composed''' содержит параметры: <br> '''columns''' = '''city_id,district_id,street_id,number'''<br> '''separator''' = '''/''' // не обязательный параметр<br> '''function''' = название функции обработчика из hooks // не обязательный параметр<br> При выводе этого поля будет составлен набор из значений колонок city_id,district_id,street_id,number<br> separator - будет служить для склейки значений. Например, через символ /. По-умолчанию , == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. 8fe02d97344caf84e23d04eae6de384d665cb496 826 825 2019-11-14T04:33:55Z Kondin 1 wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == compose == Это составной элемент. Используется только для отображения (нельзя редактировать напрямую значения, так как он состоит из значений других полей). <br> В parameters задается список колонок columns.<br> Пример, колонка '''address_composed''' содержит параметры: <br> '''columns''' = '''city_id,district_id,street_id,number'''<br> '''separator''' = '''/''' // не обязательный параметр<br> '''function''' = '''название функции обработчика''' из hooks // не обязательный параметр<br> При выводе этого поля будет составлен набор из значений колонок city_id,district_id,street_id,number<br> separator - будет служить для склейки значений. Например, через символ /. По-умолчанию , == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. 1f871095832988ea76d9ca3d919173d24e77c19f 832 826 2019-11-14T04:45:32Z Kondin 1 wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == compose == Это составной элемент. Используется только для отображения (нельзя редактировать напрямую значения, так как он состоит из значений других полей). <br> В parameters задается список колонок columns.<br> Пример, колонка '''address_composed''' содержит параметры: <br> '''columns''' = '''city_id,district_id,street_id,number'''<br> '''separator''' = '''/''' // не обязательный параметр<br> '''function''' = '''название функции обработчика''' [[Hooks#square_composed|из hooks]] // не обязательный параметр<br> При выводе этого поля будет составлен набор из значений колонок city_id,district_id,street_id,number<br> separator - будет служить для склейки значений. Например, через символ /. По-умолчанию , == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. 31cadf00feeebf405775270bccc55883c46bed33 Режим Coworking 0 97 820 2019-10-29T11:42:39Z Abushyk 2 Новая страница: «Отдельный режим предназначенный для предоставления возможности доступа пользователей…» wikitext text/x-wiki Отдельный режим предназначенный для предоставления возможности доступа пользователей к объектам других пользователей через Личный кабинет. При этом режиме пользователи получают роли Управляющий (Наставник) и Подчиненный (Стажер). Подчиненные являются подчиненными пользователями по отношению к Управляющим. Режим имеет две модификации - стандартную и полную. При стандартной модификации Подчиненный привязывается к своему Управляющему и с этого момента, все созданные лично Подчиненным объекты становятся доступными так же и Управляющему. Созданные ранее объекты, а так же объекты переданные Подчиненному административными средствами через админку не становятся общими с Управляющим. Управляющий имеет доступ к обобщенным объектам до момента отключения связи Управляющий-Подчиненный. В момент отключения связи существует возможность указать останутся ли обобщенные объекты в доступе у Управляющего после отключения связи или доступ будет прекращен. e0a75c46d660ed950cabdff679dedd0072566621 821 820 2019-10-29T11:44:29Z Abushyk 2 wikitext text/x-wiki Отдельный режим предназначенный для предоставления возможности доступа пользователей к объектам других пользователей через Личный кабинет. При этом режиме пользователи получают роли Управляющий (Наставник) и Подчиненный (Стажер). Подчиненные являются подчиненными пользователями по отношению к Управляющим. Режим имеет две модификации - стандартную и полную. При стандартной модификации Подчиненный привязывается к своему Управляющему и с этого момента, все созданные лично Подчиненным объекты становятся доступными так же и Управляющему. Созданные ранее объекты, а так же объекты переданные Подчиненному административными средствами через админку не становятся общими с Управляющим. Управляющий имеет доступ к обобщенным объектам до момента отключения связи Управляющий-Подчиненный. В момент отключения связи существует возможность указать останутся ли обобщенные объекты в доступе у Управляющего после отключения связи или доступ будет прекращен. При полной модификации Управляющий получает доступ ко всем объектам Подчиненного в момент создания связи и имеет его как ко всем созданным ранее, так и тем, которые будут созданы впоследствии. При разрыве связи Управляющий-Подчиненный доступ к объектам прекращается полностью. a91d50e2883d884e73f537a6016b614c37934bac Hooks 0 73 827 767 2019-11-14T04:35:14Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> ===BeforPrintOptionName_getCategorySelectBoxWithName=== Функция '''BeforPrintOptionName_getCategorySelectBoxWithName''' будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> '''onGridConditionsPrepare_hook''' - вызывается во время формирования условий для выборки данных.<br> Пример использования: исключаем из вывода в личном кабинете apps.data объявления принадлежащие пользователю с user_id=888 <pre> <nowiki> function onGridConditionsPrepare_hook($context, $params) { if ( $context->table_name == 'data' ) { $params['grid_conditions_sql'][] = "user_id <> 888"; } return $params; } </nowiki> </pre> '''BeforeDuplicate''' - вызывается перед созданием дубля объявления.<br> Пример использования: если lot_number является уникальным ключом, то при дублировании мы добавляем к нему числовой идентификатор, чтобы сохранить уникальность ключа для новой записи.<br> <pre> <nowiki> /** * Функция может менять значения в массиве перед созданием нового дубля */ function BeforeDuplicate( $form_data ) { foreach ($form_data as $k => $item) { if ($item['name'] == 'lot_number') { $form_data[$k]['value'] .= '-' . time(); } } return $form_data; } </nowiki> </pre> '''custom_admin_search_fields''' - Добавляем новый параметр поиска в форму расширенного поиска в админке в объявлениях.<br> <pre> <nowiki> function custom_admin_search_fields ( $smarty ) { return '<tr><td>Мое поле</td><td> <input type="text" name="moe_pole" id="moe_pole" value="'.$_REQUEST['moe_pole'].'" /></td></tr>'; } </nowiki> </pre> Этот параметр затем можно добавлять в поиск с помощью template_search.php https://www.sitebill.ru/s/topic/241-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8F-%D0%B2-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA-template_search-%D0%B8-%D0%B4%D1%80/ <br> '''BeforePrintGridItem''' - выполняет обработку массива данных строки записи перед выводом в таблицу<br> В данном примере функция принимает массив текущей строки данных $row_data и выполняет проверку идентификатора владельца этого объявления с идентификатором пользователя из сессии, если они различаются, тогда заменяется значение поля телефон (phone) на "скрыт". Т.е. реализуется логика скрытия контактов собственников от всех кроме владельца объявления. <pre> <nowiki> function BeforePrintGridItem ( $row_data, $control_params ) { if ( $row_data['user_id']['value'] != $_SESSION['user_id_value'] ) { $row_data['phone']['value'] = 'скрыт'; } return $row_data; } </nowiki> </pre> '''yandex_data_hook''' - преобразование массива пользовательской информации. Перехват идет в функции exSalesAgent($data_item)<br> \apps\yandexrealty\site\site.php <pre> <nowiki> function yandex_data_hook ($data_item) { return $data_item; } </nowiki> </pre> 98b4ac95bed7483dbf16f0799512d2ea4a684427 828 827 2019-11-14T04:36:23Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> ===BeforPrintOptionName_getCategorySelectBoxWithName=== Функция '''BeforPrintOptionName_getCategorySelectBoxWithName''' будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> ===onGridConditionsPrepare_hook=== '''onGridConditionsPrepare_hook''' - вызывается во время формирования условий для выборки данных.<br> Пример использования: исключаем из вывода в личном кабинете apps.data объявления принадлежащие пользователю с user_id=888 <pre> <nowiki> function onGridConditionsPrepare_hook($context, $params) { if ( $context->table_name == 'data' ) { $params['grid_conditions_sql'][] = "user_id <> 888"; } return $params; } </nowiki> </pre> '''BeforeDuplicate''' - вызывается перед созданием дубля объявления.<br> Пример использования: если lot_number является уникальным ключом, то при дублировании мы добавляем к нему числовой идентификатор, чтобы сохранить уникальность ключа для новой записи.<br> <pre> <nowiki> /** * Функция может менять значения в массиве перед созданием нового дубля */ function BeforeDuplicate( $form_data ) { foreach ($form_data as $k => $item) { if ($item['name'] == 'lot_number') { $form_data[$k]['value'] .= '-' . time(); } } return $form_data; } </nowiki> </pre> '''custom_admin_search_fields''' - Добавляем новый параметр поиска в форму расширенного поиска в админке в объявлениях.<br> <pre> <nowiki> function custom_admin_search_fields ( $smarty ) { return '<tr><td>Мое поле</td><td> <input type="text" name="moe_pole" id="moe_pole" value="'.$_REQUEST['moe_pole'].'" /></td></tr>'; } </nowiki> </pre> Этот параметр затем можно добавлять в поиск с помощью template_search.php https://www.sitebill.ru/s/topic/241-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8F-%D0%B2-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA-template_search-%D0%B8-%D0%B4%D1%80/ <br> '''BeforePrintGridItem''' - выполняет обработку массива данных строки записи перед выводом в таблицу<br> В данном примере функция принимает массив текущей строки данных $row_data и выполняет проверку идентификатора владельца этого объявления с идентификатором пользователя из сессии, если они различаются, тогда заменяется значение поля телефон (phone) на "скрыт". Т.е. реализуется логика скрытия контактов собственников от всех кроме владельца объявления. <pre> <nowiki> function BeforePrintGridItem ( $row_data, $control_params ) { if ( $row_data['user_id']['value'] != $_SESSION['user_id_value'] ) { $row_data['phone']['value'] = 'скрыт'; } return $row_data; } </nowiki> </pre> '''yandex_data_hook''' - преобразование массива пользовательской информации. Перехват идет в функции exSalesAgent($data_item)<br> \apps\yandexrealty\site\site.php <pre> <nowiki> function yandex_data_hook ($data_item) { return $data_item; } </nowiki> </pre> 93015281b1daa92b9437d2fcbe0f1fe6f084594f 829 828 2019-11-14T04:37:55Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> ===BeforPrintOptionName_getCategorySelectBoxWithName=== Функция '''BeforPrintOptionName_getCategorySelectBoxWithName''' будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> ===onGridConditionsPrepare_hook=== '''onGridConditionsPrepare_hook''' - вызывается во время формирования условий для выборки данных.<br> Пример использования: исключаем из вывода в личном кабинете apps.data объявления принадлежащие пользователю с user_id=888 <pre> <nowiki> function onGridConditionsPrepare_hook($context, $params) { if ( $context->table_name == 'data' ) { $params['grid_conditions_sql'][] = "user_id <> 888"; } return $params; } </nowiki> </pre> ===BeforeDuplicate=== '''BeforeDuplicate''' - вызывается перед созданием дубля объявления.<br> Пример использования: если lot_number является уникальным ключом, то при дублировании мы добавляем к нему числовой идентификатор, чтобы сохранить уникальность ключа для новой записи.<br> <pre> <nowiki> /** * Функция может менять значения в массиве перед созданием нового дубля */ function BeforeDuplicate( $form_data ) { foreach ($form_data as $k => $item) { if ($item['name'] == 'lot_number') { $form_data[$k]['value'] .= '-' . time(); } } return $form_data; } </nowiki> </pre> ===custom_admin_search_fields=== '''custom_admin_search_fields''' - Добавляем новый параметр поиска в форму расширенного поиска в админке в объявлениях.<br> <pre> <nowiki> function custom_admin_search_fields ( $smarty ) { return '<tr><td>Мое поле</td><td> <input type="text" name="moe_pole" id="moe_pole" value="'.$_REQUEST['moe_pole'].'" /></td></tr>'; } </nowiki> </pre> Этот параметр затем можно добавлять в поиск с помощью template_search.php https://www.sitebill.ru/s/topic/241-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8F-%D0%B2-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA-template_search-%D0%B8-%D0%B4%D1%80/ <br> ===BeforePrintGridItem=== '''BeforePrintGridItem''' - выполняет обработку массива данных строки записи перед выводом в таблицу<br> В данном примере функция принимает массив текущей строки данных $row_data и выполняет проверку идентификатора владельца этого объявления с идентификатором пользователя из сессии, если они различаются, тогда заменяется значение поля телефон (phone) на "скрыт". Т.е. реализуется логика скрытия контактов собственников от всех кроме владельца объявления. <pre> <nowiki> function BeforePrintGridItem ( $row_data, $control_params ) { if ( $row_data['user_id']['value'] != $_SESSION['user_id_value'] ) { $row_data['phone']['value'] = 'скрыт'; } return $row_data; } </nowiki> </pre> ===yandex_data_hook=== '''yandex_data_hook''' - преобразование массива пользовательской информации. Перехват идет в функции exSalesAgent($data_item)<br> \apps\yandexrealty\site\site.php <pre> <nowiki> function yandex_data_hook ($data_item) { return $data_item; } </nowiki> </pre> be08a67a3fcbcb709a3cc203bbb77f538d2d11d6 830 829 2019-11-14T04:43:57Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> ===BeforPrintOptionName_getCategorySelectBoxWithName=== Функция '''BeforPrintOptionName_getCategorySelectBoxWithName''' будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> ===onGridConditionsPrepare_hook=== '''onGridConditionsPrepare_hook''' - вызывается во время формирования условий для выборки данных.<br> Пример использования: исключаем из вывода в личном кабинете apps.data объявления принадлежащие пользователю с user_id=888 <pre> <nowiki> function onGridConditionsPrepare_hook($context, $params) { if ( $context->table_name == 'data' ) { $params['grid_conditions_sql'][] = "user_id <> 888"; } return $params; } </nowiki> </pre> ===BeforeDuplicate=== '''BeforeDuplicate''' - вызывается перед созданием дубля объявления.<br> Пример использования: если lot_number является уникальным ключом, то при дублировании мы добавляем к нему числовой идентификатор, чтобы сохранить уникальность ключа для новой записи.<br> <pre> <nowiki> /** * Функция может менять значения в массиве перед созданием нового дубля */ function BeforeDuplicate( $form_data ) { foreach ($form_data as $k => $item) { if ($item['name'] == 'lot_number') { $form_data[$k]['value'] .= '-' . time(); } } return $form_data; } </nowiki> </pre> ===custom_admin_search_fields=== '''custom_admin_search_fields''' - Добавляем новый параметр поиска в форму расширенного поиска в админке в объявлениях.<br> <pre> <nowiki> function custom_admin_search_fields ( $smarty ) { return '<tr><td>Мое поле</td><td> <input type="text" name="moe_pole" id="moe_pole" value="'.$_REQUEST['moe_pole'].'" /></td></tr>'; } </nowiki> </pre> Этот параметр затем можно добавлять в поиск с помощью template_search.php https://www.sitebill.ru/s/topic/241-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8F-%D0%B2-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA-template_search-%D0%B8-%D0%B4%D1%80/ <br> ===BeforePrintGridItem=== '''BeforePrintGridItem''' - выполняет обработку массива данных строки записи перед выводом в таблицу<br> В данном примере функция принимает массив текущей строки данных $row_data и выполняет проверку идентификатора владельца этого объявления с идентификатором пользователя из сессии, если они различаются, тогда заменяется значение поля телефон (phone) на "скрыт". Т.е. реализуется логика скрытия контактов собственников от всех кроме владельца объявления. <pre> <nowiki> function BeforePrintGridItem ( $row_data, $control_params ) { if ( $row_data['user_id']['value'] != $_SESSION['user_id_value'] ) { $row_data['phone']['value'] = 'скрыт'; } return $row_data; } </nowiki> </pre> ===yandex_data_hook=== '''yandex_data_hook''' - преобразование массива пользовательской информации. Перехват идет в функции exSalesAgent($data_item)<br> \apps\yandexrealty\site\site.php <pre> <nowiki> function yandex_data_hook ($data_item) { return $data_item; } </nowiki> </pre> ===square_composed=== square_composed - пример функции для формирования вычисляемой колонки (выводим площадь в формате /X/Y/Z/ <nowiki> function square_composed ($model, $key) { $columns = explode(',', $model[$key]['parameters']['columns']); $separator = $model[$key]['parameters']['separator']; if ( $separator == '' ) { $separator = ', '; } foreach ( $columns as $idx => $column_item ) { if ( $model[$column_item]['value_string'] != '' ) { $composed_items[$column_item] = $model[$column_item]['value_string']; } elseif ( $model[$column_item]['value'] != '' and $model[$column_item]['value'] != 0) { $composed_items[$column_item] = $model[$column_item]['value']; } else { $composed_items[$column_item] = '-'; } } $value = implode($separator, $composed_items); return $value; } </nowiki> 5e17aa9502dca1297f4c1444cb713a561e130dc0 831 830 2019-11-14T04:44:24Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> ===BeforPrintOptionName_getCategorySelectBoxWithName=== Функция '''BeforPrintOptionName_getCategorySelectBoxWithName''' будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> ===onGridConditionsPrepare_hook=== '''onGridConditionsPrepare_hook''' - вызывается во время формирования условий для выборки данных.<br> Пример использования: исключаем из вывода в личном кабинете apps.data объявления принадлежащие пользователю с user_id=888 <pre> <nowiki> function onGridConditionsPrepare_hook($context, $params) { if ( $context->table_name == 'data' ) { $params['grid_conditions_sql'][] = "user_id <> 888"; } return $params; } </nowiki> </pre> ===BeforeDuplicate=== '''BeforeDuplicate''' - вызывается перед созданием дубля объявления.<br> Пример использования: если lot_number является уникальным ключом, то при дублировании мы добавляем к нему числовой идентификатор, чтобы сохранить уникальность ключа для новой записи.<br> <pre> <nowiki> /** * Функция может менять значения в массиве перед созданием нового дубля */ function BeforeDuplicate( $form_data ) { foreach ($form_data as $k => $item) { if ($item['name'] == 'lot_number') { $form_data[$k]['value'] .= '-' . time(); } } return $form_data; } </nowiki> </pre> ===custom_admin_search_fields=== '''custom_admin_search_fields''' - Добавляем новый параметр поиска в форму расширенного поиска в админке в объявлениях.<br> <pre> <nowiki> function custom_admin_search_fields ( $smarty ) { return '<tr><td>Мое поле</td><td> <input type="text" name="moe_pole" id="moe_pole" value="'.$_REQUEST['moe_pole'].'" /></td></tr>'; } </nowiki> </pre> Этот параметр затем можно добавлять в поиск с помощью template_search.php https://www.sitebill.ru/s/topic/241-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8F-%D0%B2-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA-template_search-%D0%B8-%D0%B4%D1%80/ <br> ===BeforePrintGridItem=== '''BeforePrintGridItem''' - выполняет обработку массива данных строки записи перед выводом в таблицу<br> В данном примере функция принимает массив текущей строки данных $row_data и выполняет проверку идентификатора владельца этого объявления с идентификатором пользователя из сессии, если они различаются, тогда заменяется значение поля телефон (phone) на "скрыт". Т.е. реализуется логика скрытия контактов собственников от всех кроме владельца объявления. <pre> <nowiki> function BeforePrintGridItem ( $row_data, $control_params ) { if ( $row_data['user_id']['value'] != $_SESSION['user_id_value'] ) { $row_data['phone']['value'] = 'скрыт'; } return $row_data; } </nowiki> </pre> ===yandex_data_hook=== '''yandex_data_hook''' - преобразование массива пользовательской информации. Перехват идет в функции exSalesAgent($data_item)<br> \apps\yandexrealty\site\site.php <pre> <nowiki> function yandex_data_hook ($data_item) { return $data_item; } </nowiki> </pre> ===square_composed=== square_composed - пример функции для формирования вычисляемой колонки (выводим площадь в формате /X/Y/Z/ <pre> <nowiki> function square_composed ($model, $key) { $columns = explode(',', $model[$key]['parameters']['columns']); $separator = $model[$key]['parameters']['separator']; if ( $separator == '' ) { $separator = ', '; } foreach ( $columns as $idx => $column_item ) { if ( $model[$column_item]['value_string'] != '' ) { $composed_items[$column_item] = $model[$column_item]['value_string']; } elseif ( $model[$column_item]['value'] != '' and $model[$column_item]['value'] != 0) { $composed_items[$column_item] = $model[$column_item]['value']; } else { $composed_items[$column_item] = '-'; } } $value = implode($separator, $composed_items); return $value; } </nowiki> </pre> 06a33f981e0beff6c58d0121514b615206648226 833 831 2019-11-14T04:46:11Z Kondin 1 wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> ===BeforPrintOptionName_getCategorySelectBoxWithName=== Функция '''BeforPrintOptionName_getCategorySelectBoxWithName''' будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> ===onGridConditionsPrepare_hook=== '''onGridConditionsPrepare_hook''' - вызывается во время формирования условий для выборки данных.<br> Пример использования: исключаем из вывода в личном кабинете apps.data объявления принадлежащие пользователю с user_id=888 <pre> <nowiki> function onGridConditionsPrepare_hook($context, $params) { if ( $context->table_name == 'data' ) { $params['grid_conditions_sql'][] = "user_id <> 888"; } return $params; } </nowiki> </pre> ===BeforeDuplicate=== '''BeforeDuplicate''' - вызывается перед созданием дубля объявления.<br> Пример использования: если lot_number является уникальным ключом, то при дублировании мы добавляем к нему числовой идентификатор, чтобы сохранить уникальность ключа для новой записи.<br> <pre> <nowiki> /** * Функция может менять значения в массиве перед созданием нового дубля */ function BeforeDuplicate( $form_data ) { foreach ($form_data as $k => $item) { if ($item['name'] == 'lot_number') { $form_data[$k]['value'] .= '-' . time(); } } return $form_data; } </nowiki> </pre> ===custom_admin_search_fields=== '''custom_admin_search_fields''' - Добавляем новый параметр поиска в форму расширенного поиска в админке в объявлениях.<br> <pre> <nowiki> function custom_admin_search_fields ( $smarty ) { return '<tr><td>Мое поле</td><td> <input type="text" name="moe_pole" id="moe_pole" value="'.$_REQUEST['moe_pole'].'" /></td></tr>'; } </nowiki> </pre> Этот параметр затем можно добавлять в поиск с помощью template_search.php https://www.sitebill.ru/s/topic/241-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8F-%D0%B2-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA-template_search-%D0%B8-%D0%B4%D1%80/ <br> ===BeforePrintGridItem=== '''BeforePrintGridItem''' - выполняет обработку массива данных строки записи перед выводом в таблицу<br> В данном примере функция принимает массив текущей строки данных $row_data и выполняет проверку идентификатора владельца этого объявления с идентификатором пользователя из сессии, если они различаются, тогда заменяется значение поля телефон (phone) на "скрыт". Т.е. реализуется логика скрытия контактов собственников от всех кроме владельца объявления. <pre> <nowiki> function BeforePrintGridItem ( $row_data, $control_params ) { if ( $row_data['user_id']['value'] != $_SESSION['user_id_value'] ) { $row_data['phone']['value'] = 'скрыт'; } return $row_data; } </nowiki> </pre> ===yandex_data_hook=== '''yandex_data_hook''' - преобразование массива пользовательской информации. Перехват идет в функции exSalesAgent($data_item)<br> \apps\yandexrealty\site\site.php <pre> <nowiki> function yandex_data_hook ($data_item) { return $data_item; } </nowiki> </pre> ===square_composed=== square_composed - пример функции для формирования [[Типы_элементов_форм#compose|вычисляемой колонки]] (выводим площадь в формате /X/Y/Z/ <pre> <nowiki> function square_composed ($model, $key) { $columns = explode(',', $model[$key]['parameters']['columns']); $separator = $model[$key]['parameters']['separator']; if ( $separator == '' ) { $separator = ', '; } foreach ( $columns as $idx => $column_item ) { if ( $model[$column_item]['value_string'] != '' ) { $composed_items[$column_item] = $model[$column_item]['value_string']; } elseif ( $model[$column_item]['value'] != '' and $model[$column_item]['value'] != 0) { $composed_items[$column_item] = $model[$column_item]['value']; } else { $composed_items[$column_item] = '-'; } } $value = implode($separator, $composed_items); return $value; } </nowiki> </pre> 270d374ac10311bc9f1ee16183eeebba4780a445 Приложение "Парсер ADS-API.RU" 0 83 834 726 2019-12-02T10:29:17Z Abushyk 2 wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> == Общая информация == Уникальность объектов сверяется по <s>паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга)</s> уникальному ID. <s>Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях.</s> Вы можете передавать загруженные объекты другому пользователю, но если не удалите значение уникального ID и признак загрузки из ADS-API.RU, то объект будет оставаться синхронизированным с выгрузкой. По умолчанию парсер работает в режиме "загрузка" - он находит новые объекты в источнике и размещает их в базе. При нахождении объекта, который уже есть базе, парсер игнорирует его. Для того, что бы такие объекты сихронизировались с источником необходимо включить настройку "Обновлять объекты (apps.adsapiruparser.update_advs)". == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Задачи == Задачи == Настройки == '''Список источников (apps.adsapiruparser.sources)''' - список программ загрузки<br /> '''Ограничение на количество фото (apps.adsapiruparser.imglimit)''' - число указывающее какое количество изображений забирать из фида для каждого объекта. Установка 0 или "пусто" указывает забирать все изображения<br /> '''Не загружать без фото (apps.adsapiruparser.withphotoonly)''' - указывает следует ли забирать объекты, для которых в фиде отсутствует информация о фотографиях<br /> '''Сохранять историю загруженных (apps.adsapiruparser.store_parsing_story)''' - при включенной настройке уникальные ID будут записываться в специальную таблицу. Вследствии этого, если вы удалите объект, то он не добавится обратно при следующем запуске парсера, если он еще будет находиться в фиде.<br /> '''Устанавливать дату добавления из фида (apps.adsapiruparser.setfeeddate)''' - устанавливает поле Дата добавления не в текущее время, а в значение даты из данных фида.<br /> '''Проверять на наличие похожих объектов (apps.adsapiruparser.filter_doubles)''' - подключает стандартную проверку объекта объявления на наличие похожих объектов<br /> '''Системное имя поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_name)'''<br /> '''Значение поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_value)'''<br /> '''Автоочистка параллельно с парсингом (apps.adsapiruparser.autoclear)''' - включение этой настройки запускает стандартный уборщик устаревших объектов при каждом запуске парсинга<br /> '''Количество дней, через которое объект будет считаться старым (apps.adsapiruparser.oldage)''' - числовое количество дней, про истечении которых от "Даты добавления" объект будет считаться старым и подлежащим уборке. Указание 0 или "пусто" отключает проверку на старость.<br /> '''Обновлять объекты (apps.adsapiruparser.update_advs)''' - настройка указывает следует ли синхронизировать уже загруженные объекты с данными этих объектов в источнике. При включении этой опции, в объекте на сайте будут обновлены все данные, кроме активности и владельца объекта на сайте (значение поля user_id). Так же будут обновлены все данные, измененные после загрузки объекта. Поэтому, если вы модерируете и облагораживаете объекты пришедшие с источника, не используйте эту опцию. Данная опция идеально подходит для полной синхронизации базы с источником, когда все данные остаются в виде предоставляемом ADS-API.RU и Вы лишь распределяете объеты между агентами на сайте и управляете их активностью. == Настройка маппинга == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 5f70cf19c3f24a3a36fa684933eed6d2c949ea60 835 834 2019-12-02T10:30:02Z Abushyk 2 wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> == Общая информация == Уникальность объектов сверяется по <s>паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга)</s> уникальному ID. <s>Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях.</s> Вы можете передавать загруженные объекты другому пользователю, но если не удалите значение уникального ID и признак загрузки из ADS-API.RU, то объект будет оставаться синхронизированным с выгрузкой. По умолчанию парсер работает в режиме "загрузка" - он находит новые объекты в источнике и размещает их в базе. При нахождении объекта, который уже есть базе, парсер игнорирует его. Для того, что бы такие объекты сихронизировались с источником необходимо включить настройку "Обновлять объекты (apps.adsapiruparser.update_advs)". == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Задачи == Задачи служат для создания программ парсинга. Задача имеет следующие своства: Метка Активность Исключить из цикла == Настройки == '''Список источников (apps.adsapiruparser.sources)''' - список программ загрузки<br /> '''Ограничение на количество фото (apps.adsapiruparser.imglimit)''' - число указывающее какое количество изображений забирать из фида для каждого объекта. Установка 0 или "пусто" указывает забирать все изображения<br /> '''Не загружать без фото (apps.adsapiruparser.withphotoonly)''' - указывает следует ли забирать объекты, для которых в фиде отсутствует информация о фотографиях<br /> '''Сохранять историю загруженных (apps.adsapiruparser.store_parsing_story)''' - при включенной настройке уникальные ID будут записываться в специальную таблицу. Вследствии этого, если вы удалите объект, то он не добавится обратно при следующем запуске парсера, если он еще будет находиться в фиде.<br /> '''Устанавливать дату добавления из фида (apps.adsapiruparser.setfeeddate)''' - устанавливает поле Дата добавления не в текущее время, а в значение даты из данных фида.<br /> '''Проверять на наличие похожих объектов (apps.adsapiruparser.filter_doubles)''' - подключает стандартную проверку объекта объявления на наличие похожих объектов<br /> '''Системное имя поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_name)'''<br /> '''Значение поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_value)'''<br /> '''Автоочистка параллельно с парсингом (apps.adsapiruparser.autoclear)''' - включение этой настройки запускает стандартный уборщик устаревших объектов при каждом запуске парсинга<br /> '''Количество дней, через которое объект будет считаться старым (apps.adsapiruparser.oldage)''' - числовое количество дней, про истечении которых от "Даты добавления" объект будет считаться старым и подлежащим уборке. Указание 0 или "пусто" отключает проверку на старость.<br /> '''Обновлять объекты (apps.adsapiruparser.update_advs)''' - настройка указывает следует ли синхронизировать уже загруженные объекты с данными этих объектов в источнике. При включении этой опции, в объекте на сайте будут обновлены все данные, кроме активности и владельца объекта на сайте (значение поля user_id). Так же будут обновлены все данные, измененные после загрузки объекта. Поэтому, если вы модерируете и облагораживаете объекты пришедшие с источника, не используйте эту опцию. Данная опция идеально подходит для полной синхронизации базы с источником, когда все данные остаются в виде предоставляемом ADS-API.RU и Вы лишь распределяете объеты между агентами на сайте и управляете их активностью. == Настройка маппинга == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. 8d0bcd064e6100557adb65d8798f24e466981538 840 835 2020-01-21T16:25:22Z Abushyk 2 /* Adsapiruparser_Resolver */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> == Общая информация == Уникальность объектов сверяется по <s>паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга)</s> уникальному ID. <s>Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях.</s> Вы можете передавать загруженные объекты другому пользователю, но если не удалите значение уникального ID и признак загрузки из ADS-API.RU, то объект будет оставаться синхронизированным с выгрузкой. По умолчанию парсер работает в режиме "загрузка" - он находит новые объекты в источнике и размещает их в базе. При нахождении объекта, который уже есть базе, парсер игнорирует его. Для того, что бы такие объекты сихронизировались с источником необходимо включить настройку "Обновлять объекты (apps.adsapiruparser.update_advs)". == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Задачи == Задачи служат для создания программ парсинга. Задача имеет следующие своства: Метка Активность Исключить из цикла == Настройки == '''Список источников (apps.adsapiruparser.sources)''' - список программ загрузки<br /> '''Ограничение на количество фото (apps.adsapiruparser.imglimit)''' - число указывающее какое количество изображений забирать из фида для каждого объекта. Установка 0 или "пусто" указывает забирать все изображения<br /> '''Не загружать без фото (apps.adsapiruparser.withphotoonly)''' - указывает следует ли забирать объекты, для которых в фиде отсутствует информация о фотографиях<br /> '''Сохранять историю загруженных (apps.adsapiruparser.store_parsing_story)''' - при включенной настройке уникальные ID будут записываться в специальную таблицу. Вследствии этого, если вы удалите объект, то он не добавится обратно при следующем запуске парсера, если он еще будет находиться в фиде.<br /> '''Устанавливать дату добавления из фида (apps.adsapiruparser.setfeeddate)''' - устанавливает поле Дата добавления не в текущее время, а в значение даты из данных фида.<br /> '''Проверять на наличие похожих объектов (apps.adsapiruparser.filter_doubles)''' - подключает стандартную проверку объекта объявления на наличие похожих объектов<br /> '''Системное имя поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_name)'''<br /> '''Значение поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_value)'''<br /> '''Автоочистка параллельно с парсингом (apps.adsapiruparser.autoclear)''' - включение этой настройки запускает стандартный уборщик устаревших объектов при каждом запуске парсинга<br /> '''Количество дней, через которое объект будет считаться старым (apps.adsapiruparser.oldage)''' - числовое количество дней, про истечении которых от "Даты добавления" объект будет считаться старым и подлежащим уборке. Указание 0 или "пусто" отключает проверку на старость.<br /> '''Обновлять объекты (apps.adsapiruparser.update_advs)''' - настройка указывает следует ли синхронизировать уже загруженные объекты с данными этих объектов в источнике. При включении этой опции, в объекте на сайте будут обновлены все данные, кроме активности и владельца объекта на сайте (значение поля user_id). Так же будут обновлены все данные, измененные после загрузки объекта. Поэтому, если вы модерируете и облагораживаете объекты пришедшие с источника, не используйте эту опцию. Данная опция идеально подходит для полной синхронизации базы с источником, когда все данные остаются в виде предоставляемом ADS-API.RU и Вы лишь распределяете объеты между агентами на сайте и управляете их активностью. == Настройка маппинга == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. Код приложения поддерживает вызов таких предопределенных функций: filterModel($model) - фильтратор модели. Функция получает на вход полную модель объекта и возвращает ее в отфильтрованном виде. Вы можете реализовать в ней исключение каких-то полей из базовой модели, изменение их свойств и правил примененных к полю. validate($data) - проверка объекта. Функция получает на вход инициированную данными модель объекта полученную в процессе парсинга и возвращает значение true или false как результат проверки. Вы можете реализовать в ней какие-то нестандартные проверки, которые не могут быть реализованы правилами или должны применяться только для объектов, загружаемых парсером. setTypes 3f6859e41736416148fbffbffbb59559dffe61ca 841 840 2020-01-21T16:30:07Z Abushyk 2 /* Adsapiruparser_Resolver */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> == Общая информация == Уникальность объектов сверяется по <s>паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга)</s> уникальному ID. <s>Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях.</s> Вы можете передавать загруженные объекты другому пользователю, но если не удалите значение уникального ID и признак загрузки из ADS-API.RU, то объект будет оставаться синхронизированным с выгрузкой. По умолчанию парсер работает в режиме "загрузка" - он находит новые объекты в источнике и размещает их в базе. При нахождении объекта, который уже есть базе, парсер игнорирует его. Для того, что бы такие объекты сихронизировались с источником необходимо включить настройку "Обновлять объекты (apps.adsapiruparser.update_advs)". == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Задачи == Задачи служат для создания программ парсинга. Задача имеет следующие своства: Метка Активность Исключить из цикла == Настройки == '''Список источников (apps.adsapiruparser.sources)''' - список программ загрузки<br /> '''Ограничение на количество фото (apps.adsapiruparser.imglimit)''' - число указывающее какое количество изображений забирать из фида для каждого объекта. Установка 0 или "пусто" указывает забирать все изображения<br /> '''Не загружать без фото (apps.adsapiruparser.withphotoonly)''' - указывает следует ли забирать объекты, для которых в фиде отсутствует информация о фотографиях<br /> '''Сохранять историю загруженных (apps.adsapiruparser.store_parsing_story)''' - при включенной настройке уникальные ID будут записываться в специальную таблицу. Вследствии этого, если вы удалите объект, то он не добавится обратно при следующем запуске парсера, если он еще будет находиться в фиде.<br /> '''Устанавливать дату добавления из фида (apps.adsapiruparser.setfeeddate)''' - устанавливает поле Дата добавления не в текущее время, а в значение даты из данных фида.<br /> '''Проверять на наличие похожих объектов (apps.adsapiruparser.filter_doubles)''' - подключает стандартную проверку объекта объявления на наличие похожих объектов<br /> '''Системное имя поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_name)'''<br /> '''Значение поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_value)'''<br /> '''Автоочистка параллельно с парсингом (apps.adsapiruparser.autoclear)''' - включение этой настройки запускает стандартный уборщик устаревших объектов при каждом запуске парсинга<br /> '''Количество дней, через которое объект будет считаться старым (apps.adsapiruparser.oldage)''' - числовое количество дней, про истечении которых от "Даты добавления" объект будет считаться старым и подлежащим уборке. Указание 0 или "пусто" отключает проверку на старость.<br /> '''Обновлять объекты (apps.adsapiruparser.update_advs)''' - настройка указывает следует ли синхронизировать уже загруженные объекты с данными этих объектов в источнике. При включении этой опции, в объекте на сайте будут обновлены все данные, кроме активности и владельца объекта на сайте (значение поля user_id). Так же будут обновлены все данные, измененные после загрузки объекта. Поэтому, если вы модерируете и облагораживаете объекты пришедшие с источника, не используйте эту опцию. Данная опция идеально подходит для полной синхронизации базы с источником, когда все данные остаются в виде предоставляемом ADS-API.RU и Вы лишь распределяете объеты между агентами на сайте и управляете их активностью. == Настройка маппинга == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. Код приложения поддерживает вызов таких предопределенных функций резольвера: '''filterModel($model)''' - фильтратор модели. Функция получает на вход полную модель объекта и возвращает ее в отфильтрованном виде. Вы можете реализовать в ней исключение каких-то полей из базовой модели, изменение их свойств и правил примененных к полю. '''validate($data)''' - проверка объекта. Функция получает на вход инициированную данными модель объекта полученную в процессе парсинга и возвращает значение true или false как результат проверки. Вы можете реализовать в ней какие-то нестандартные проверки, которые не могут быть реализованы правилами или должны применяться только для объектов, загружаемых парсером. '''setTypes($object, &$data)''' - установка типов, установить которые настройками маппинга невозможно. Функция получает на вход массив данных распарсенного объекта и ссылку на объект-модель в которую данные укладываются. '''resolve($object, $data)''' - дополнительный маппинг. Функция получает на вход массив данных распарсенного объекта и ссылку на объект-модель в которую данные укладываются. В этой функции можно реализовать нестандартные варианты соотношения данных из парсера полям объекта, дополнительные операции типа форматирования, конвертирования, установить значения, установка которых маппером не поддерживается и прочие инициализационные действия. 0ce0cf6b9d9c88c79a6438787a4df4daf4f34518 842 841 2020-01-21T16:50:29Z Abushyk 2 /* Adsapiruparser_Resolver */ wikitext text/x-wiki Адреса парсинга записываются в отдельной строке в формате <pre>label***url***target_user</pre> label - метка задачи, которая используется при запуске парсинга<br> url - адрес забора данных<br> target_user - ID пользователя к которому будут прикреплены объекты<br> == Общая информация == Уникальность объектов сверяется по <s>паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга)</s> уникальному ID. <s>Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях.</s> Вы можете передавать загруженные объекты другому пользователю, но если не удалите значение уникального ID и признак загрузки из ADS-API.RU, то объект будет оставаться синхронизированным с выгрузкой. По умолчанию парсер работает в режиме "загрузка" - он находит новые объекты в источнике и размещает их в базе. При нахождении объекта, который уже есть базе, парсер игнорирует его. Для того, что бы такие объекты сихронизировались с источником необходимо включить настройку "Обновлять объекты (apps.adsapiruparser.update_advs)". == Требования== Модель объекта должна иметь среди своих свойств следующие: <s>- feed_label - поле с системным именем feed_label. safe_string. Для хранения признака источника</s> - поле для хранения уникального ID с источника<br /> - поле для хранения признака загруженности с ADS-API.RU. Это поле может иметь произвольный формат, но должно точно определять объект, как принадлежащий к загруженным. Например, это может быть поле типа checkbox отмеченное состояние которого будет служить признаком. Системное имя этого поля и его значение необходимо указать в настройках приложения. Необходимые таблицы устанавливаются стандартной установкой приложения /admin/index.php?action=adsapiruparser&do=install == Задачи == Задачи служат для создания программ парсинга. Задача имеет следующие своства: Метка Активность Исключить из цикла == Настройки == '''Список источников (apps.adsapiruparser.sources)''' - список программ загрузки<br /> '''Ограничение на количество фото (apps.adsapiruparser.imglimit)''' - число указывающее какое количество изображений забирать из фида для каждого объекта. Установка 0 или "пусто" указывает забирать все изображения<br /> '''Не загружать без фото (apps.adsapiruparser.withphotoonly)''' - указывает следует ли забирать объекты, для которых в фиде отсутствует информация о фотографиях<br /> '''Сохранять историю загруженных (apps.adsapiruparser.store_parsing_story)''' - при включенной настройке уникальные ID будут записываться в специальную таблицу. Вследствии этого, если вы удалите объект, то он не добавится обратно при следующем запуске парсера, если он еще будет находиться в фиде.<br /> '''Устанавливать дату добавления из фида (apps.adsapiruparser.setfeeddate)''' - устанавливает поле Дата добавления не в текущее время, а в значение даты из данных фида.<br /> '''Проверять на наличие похожих объектов (apps.adsapiruparser.filter_doubles)''' - подключает стандартную проверку объекта объявления на наличие похожих объектов<br /> '''Системное имя поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_name)'''<br /> '''Значение поля в модели data обуславливающее признак загруженности из ADS-API.RU (apps.adsapiruparser.adsapi_loaded_field_value)'''<br /> '''Автоочистка параллельно с парсингом (apps.adsapiruparser.autoclear)''' - включение этой настройки запускает стандартный уборщик устаревших объектов при каждом запуске парсинга<br /> '''Количество дней, через которое объект будет считаться старым (apps.adsapiruparser.oldage)''' - числовое количество дней, про истечении которых от "Даты добавления" объект будет считаться старым и подлежащим уборке. Указание 0 или "пусто" отключает проверку на старость.<br /> '''Обновлять объекты (apps.adsapiruparser.update_advs)''' - настройка указывает следует ли синхронизировать уже загруженные объекты с данными этих объектов в источнике. При включении этой опции, в объекте на сайте будут обновлены все данные, кроме активности и владельца объекта на сайте (значение поля user_id). Так же будут обновлены все данные, измененные после загрузки объекта. Поэтому, если вы модерируете и облагораживаете объекты пришедшие с источника, не используйте эту опцию. Данная опция идеально подходит для полной синхронизации базы с источником, когда все данные остаются в виде предоставляемом ADS-API.RU и Вы лишь распределяете объеты между агентами на сайте и управляете их активностью. == Настройка маппинга == Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер. '''Количество комнат в квартире или доме''' - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом. '''Этаж''' - системное имя поля для хранения значения. '''Этажность''' - системное имя поля для хранения значения. '''Координаты''' - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata '''Уникальный ID''' - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет. '''Цена аренды''' - системное имя поля для хранения значения цены для сдаваемых объектов. '''Цена продажи''' - системное имя поля для хранения значения цены для продаваемых объектов. '''Валюта цен''' - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено. '''Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи)''' - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя. '''Жилая площадь, Площадь кухни''' - системные имена полей под хранение соответствующих значений '''Площадь участка (отдельного)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок. '''Площадь участка (при доме)''' - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки. '''Описание, Заголовок''' - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку. '''Полный адрес''' - системное имя поля для хранения строки с полным адресом объекта. Для справки, например. '''Номер телефона, Имя контактного лица''' - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером. '''Название источника''' - системное имя поля для хранения строки с названием источника. '''Важно!''' Все упомянутые выше настройки устанавливают конкретное значение из данных парсера. Например из парсера приходит объект с признаком "комнатность" равным 5. При сохранении этого значения могут возникнуть следующие ситуации: а) в наличии имеется поле под хранение комнатности, оно имеет вид текстового поля и системное имя room_count. Тогда мы просто указываем '''room_count''' в поле '''Количество комнат в квартире или доме''' б) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1}{2~~2}{3~~3} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. в) в наличии имеется поле под хранение комнатности, но оно имеет вид поля выбора вариантов select_box и варианты {1~~1комн}{2~~2комн}{3~~3комн} и системное имя room_count. В этом случае мы так же можем указать аналогично предыдущему, так как ключи у нас совпадают с величиной комнатности. г) Комнатность учтена в названиях наших разделов. В этом случае мы не можем указать поле под хранение, так как его не существует. А для правильного размещения объекта в разделе мы будем вынуждены воспользоваться Adsapiruparser_Resolver === Распределение по типам и контракту === Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства. Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу. Настройки этого типа указываются в виде пар имя-значение <pre> СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ </pre> Таких пар можно указать несколько, но каждую с новой строки. Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела) <pre> Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66) </pre> В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил <pre> topic_id=38 </pre> А если бы Вашу структура имела вид <pre> Жилая -- Квартиры (33) -- Дома (38) </pre> и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид <pre> topic_id=38 optype=1 </pre> Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила <pre> topic_id=78 lot_type=1 </pre> Некоторые типы, например Участки и Гаражи имеют очень детальное деление. Если Вас не интересует столь детальные данные, то Вы можете использовать пункты Любые участки и Любой гараж, которые включают в себя любой детальный подтип этого типа. === Материал дома === Группа настроек для получения материала домов. Настройка производится по принципу аналогичному установке типа недвижимости, за исключением того, что указать можно только одну пару. Если материал дома хранится на сайте в поле выбора вариантов с системным именем walls_type и вариантами {1~~Кирпич}{2~~Панель}, то для получения данных о кирпичном материале дома из парсера укажите <pre> walls_type=1 </pre> Если же поле walls_type имеет вид поля ввода и данные о материале дома вводятся вручную, то можно указать таким образом <pre> walls_type=Кирп. </pre> === Adsapiruparser_Resolver === В процессе парсинга приложение ищет в папке шаблона по адресу /template/frontend/ШАБЛОН/apps/adsapiruparser/ специальный файл adsapiruparser_resolver.php Этот файл предназначен для выполнения нестандартных либо невозможных для парсера действий. Например для превращения данных о комнатности объекта в конкретный раздел структуры, для разбора географических данных, для установки каких-то дополнительных свойств. Код приложения поддерживает вызов таких предопределенных функций резольвера: '''filterModel($model)''' - фильтратор модели. Функция получает на вход полную модель объекта и возвращает ее в отфильтрованном виде. Вы можете реализовать в ней исключение каких-то полей из базовой модели, изменение их свойств и правил примененных к полю. '''validate($data, &$msg)''' - проверка объекта. Функция получает на вход инициированную данными модель объекта полученную в процессе парсинга и ссылку на переменную с текстом причины отклонения. Возвращает значение true или false как результат проверки. Вы можете реализовать в ней какие-то нестандартные проверки, которые не могут быть реализованы правилами или должны применяться только для объектов, загружаемых парсером. '''setTypes($object, &$data)''' - установка типов, установить которые настройками маппинга невозможно. Функция получает на вход массив данных распарсенного объекта и ссылку на объект-модель в которую данные укладываются. '''resolve($object, $data)''' - дополнительный маппинг. Функция получает на вход массив данных распарсенного объекта и ссылку на объект-модель в которую данные укладываются. В этой функции можно реализовать нестандартные варианты соотношения данных из парсера полям объекта, дополнительные операции типа форматирования, конвертирования, установить значения, установка которых маппером не поддерживается и прочие инициализационные действия. 2042fae0bfa086ae5a87ea6280c5b8f50a07c89c Приложения 0 6 836 788 2020-01-06T08:28:23Z Kondin 1 Добавил ссылку на sharder wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Sharder|Приложение "Sharder"]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка ЦИАН 2"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]]<br /> [[Приложение "Выгрузка Realestate.ru"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> [[Приложение "Парсер ADS-API.RU"]]<br /> [[Приложение "Парсер формата Domaza"]]<br /> [[Приложение "Парсер формата Kyero"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> [[Приложение "Facebook-постинг"]]<br /> [[Приложение "Vk-постинг"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> [[Приложение "Новости"]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 3389fe7e575ac4a3fa27590cffa3e04e35cbb8a7 Sharder 0 98 837 2020-01-06T08:29:51Z Kondin 1 Новая страница: «Sharder – приложение<br> Приложение призвано сохранять картинки не на локальном диске хости…» wikitext text/x-wiki Sharder – приложение<br> Приложение призвано сохранять картинки не на локальном диске хостинга внутри папки сайта, а на удаленном сервере.<br> На некоторых сайтах сейчас скопилось до 200 Гб картинок, поэтому назрел вопрос как их разделять по разным хранилищам.<br> В процессе обработки и сохранения поля uploads сначала картинки сохраняются как раньше в папку /img/data/. Это нужно чтобы они правильно ресайзились, переворачивались и накладывались водяные знаки.<br> Но после всех обработок, если включено приложение apps.sharding.enable тогда массив картинок передается на обработку классу<br> $result = $this->sharder->shard($files, $this->getServerFullUrl(true));<br> <br> Эта процедура загружает файлы на удаленный сервер и в ответ получает URL адреса загруженных файлов.<br> Затем выполняется запаковка uploads поля, но теперь название каждого файла это URL-картинки. Также добавляется признак remote = ‘true’ чтобы в шаблонах и других приложениях было понятно что это не локальные картинки, а URL-адреса картинок.<br> array('preview' => $preview_url, 'normal' => $normal_url, 'type' => 'graphic', 'mime' => $ext, 'remote' => ‘true’);<br> <br> Теперь при выводе в шаблонах нужно выполнять проверку признака remote, чтобы вместо формирования относительного пути, просто выдавать ее в чистом виде. Пример вывода картинок в шаблоне<br> <img src="{if $photoitem.remote}{$photoitem.normal}{else}{$estate_folder}/img/data/{$photoitem.normal}{/if}" /><br> Для миграции картинок из локального хранилища на шарды есть скрипт<br> /apps/sharder/cron.php?cron_key=XXX<br> Он загружает по N-записей и отправляет локальные файлы на удаленный сервер, заменяет uploads массив и затем удаляет локальные файлы. После каждого запуска порция записей отмечается как обработанная data.sharded = 1<br> Необходимо переделать способ вывода картинок в приложениях, которые используют картинки – выгрузки, например. Анализировать признак remote=’true’ <br> 53f14ed1460ffba90a96f6a4c04d90a67d2239f2 838 837 2020-01-06T08:34:00Z Kondin 1 wikitext text/x-wiki Sharder – приложение<br> Приложение призвано сохранять картинки не на локальном диске хостинга внутри папки сайта, а на удаленном сервере.<br> На некоторых сайтах сейчас скопилось до 200 Гб картинок, поэтому назрел вопрос как их разделять по разным хранилищам.<br> В процессе обработки и сохранения поля uploads сначала картинки сохраняются как раньше в папку /img/data/. Это нужно чтобы они правильно ресайзились, переворачивались и накладывались водяные знаки.<br> Но после всех обработок, если включено приложение apps.sharding.enable тогда массив картинок передается на обработку классу<br> <nowiki> $result = $this->sharder->shard($files, $this->getServerFullUrl(true)); </nowiki> <br> <br> Эта процедура загружает файлы на удаленный сервер и в ответ получает URL адреса загруженных файлов.<br> Затем выполняется запаковка uploads поля, но теперь название каждого файла это URL-картинки. Также добавляется признак remote = ‘true’ чтобы в шаблонах и других приложениях было понятно что это не локальные картинки, а URL-адреса картинок.<br> <nowiki> array('preview' => $preview_url, 'normal' => $normal_url, 'type' => 'graphic', 'mime' => $ext, 'remote' => ‘true’); </nowiki> <br> <br> Теперь при выводе в шаблонах нужно выполнять проверку признака remote, чтобы вместо формирования относительного пути, просто выдавать ее в чистом виде. Пример вывода картинок в шаблоне<br> <nowiki> <img src="{if $photoitem.remote}{$photoitem.normal}{else}{$estate_folder}/img/data/{$photoitem.normal}{/if}" /> </nowiki> <br> Для миграции картинок из локального хранилища на шарды есть скрипт<br> '''/apps/sharder/cron.php?cron_key=XXX'''<br> Он загружает по N-записей и отправляет локальные файлы на удаленный сервер, заменяет uploads массив и затем удаляет локальные файлы. После каждого запуска порция записей отмечается как обработанная data.sharded = 1<br> Необходимо переделать способ вывода картинок в приложениях, которые используют картинки – выгрузки, например. Анализировать признак remote=’true’ <br> ab8ef64eb19af11f3dccad968a94818ac189a766 839 838 2020-01-06T08:34:29Z Kondin 1 wikitext text/x-wiki Sharder – приложение<br> Приложение призвано сохранять картинки не на локальном диске хостинга внутри папки сайта, а на удаленном сервере.<br> На некоторых сайтах сейчас скопилось до 200 Гб картинок, поэтому назрел вопрос как их разделять по разным хранилищам.<br> В процессе обработки и сохранения поля uploads сначала картинки сохраняются как раньше в папку /img/data/. Это нужно чтобы они правильно ресайзились, переворачивались и накладывались водяные знаки.<br> Но после всех обработок, если включено приложение apps.sharding.enable тогда массив картинок передается на обработку классу<br> <nowiki> $result = $this->sharder->shard($files, $this->getServerFullUrl(true)); </nowiki> <br> <br> Эта процедура загружает файлы на удаленный сервер и в ответ получает URL адреса загруженных файлов.<br> Затем выполняется запаковка uploads поля, но теперь название каждого файла это URL-картинки. Также добавляется признак remote = ‘true’ чтобы в шаблонах и других приложениях было понятно что это не локальные картинки, а URL-адреса картинок.<br> <nowiki> array('preview' => $preview_url, 'normal' => $normal_url, 'type' => 'graphic', 'mime' => $ext, 'remote' => ‘true’); </nowiki> <br> Теперь при выводе в шаблонах нужно выполнять проверку признака remote, чтобы вместо формирования относительного пути, просто выдавать ее в чистом виде. Пример вывода картинок в шаблоне<br> <nowiki> <img src="{if $photoitem.remote}{$photoitem.normal}{else}{$estate_folder}/img/data/{$photoitem.normal}{/if}" /> </nowiki> <br> Для миграции картинок из локального хранилища на шарды есть скрипт<br> '''/apps/sharder/cron.php?cron_key=XXX'''<br> Он загружает по N-записей и отправляет локальные файлы на удаленный сервер, заменяет uploads массив и затем удаляет локальные файлы. После каждого запуска порция записей отмечается как обработанная data.sharded = 1<br> Необходимо переделать способ вывода картинок в приложениях, которые используют картинки – выгрузки, например. Анализировать признак remote=’true’ <br> 1232131fe29981b84fdffbbac83e8a8ee4c5a324 Приложение "Toolbox" 0 40 843 163 2020-01-22T13:53:19Z Abushyk 2 wikitext text/x-wiki Приложение для выполнения рутинных массовых задач. === Подгонка превьюшек === Используется для подгонки уменьшенных изображений картинок для объявлений. Применимо только к элементу типа Uploadify_image.<br /> Принцип работы: выбирает все картинки объявлений и пересоздает их уменьшенные копии согласно настроек apps.realty.data_image_preview_height, apps.realty.data_image_preview_width и apps.realty.preview_smart_resizing. Поскольку за исходное изображение берется нормальное изображение, то не уменьшенных изображениях, в результате этой операции, возможно появление водяного знака, если он был нанесен на нормальные изображения. === Из Uploadify в Uploads === Мигратор картинок из элемента типа Uploadify_image (базовая поставка) в элемент типа Uploads. Применяется для объявлений. Для своей работы требует указания системного имени элемента типа Uploads в который будут помещены изображения (при использовании Uploadify_image изображения хранятся во внешней таблице БД).<br /> Перед миграцией необходимо дополнить, в случае отсутствия, таблицу re_image полями title VARCHAR(255) и description TEXT.<br /> Если миграция не выполнена, но старый элемент типа Uploadify_image заменен одноименным элементом типа Uploads, присоединенные картинки будут доступны только на просмотр с фронта, но не будут доступны на редактирование из админки. Эта доступность сохранится до первой загрузки картинки в элемент типа Uploads. После этого все изображения, которые были подхвачены из старого элемента, будут утеряны. === Пользовательские контроллеры === Пользовательские контроллеры 51a68ac72ef7f5012b2375d750a9455f8b5a6c5d 844 843 2020-01-22T13:55:14Z Abushyk 2 /* Пользовательские контроллеры */ wikitext text/x-wiki Приложение для выполнения рутинных массовых задач. === Подгонка превьюшек === Используется для подгонки уменьшенных изображений картинок для объявлений. Применимо только к элементу типа Uploadify_image.<br /> Принцип работы: выбирает все картинки объявлений и пересоздает их уменьшенные копии согласно настроек apps.realty.data_image_preview_height, apps.realty.data_image_preview_width и apps.realty.preview_smart_resizing. Поскольку за исходное изображение берется нормальное изображение, то не уменьшенных изображениях, в результате этой операции, возможно появление водяного знака, если он был нанесен на нормальные изображения. === Из Uploadify в Uploads === Мигратор картинок из элемента типа Uploadify_image (базовая поставка) в элемент типа Uploads. Применяется для объявлений. Для своей работы требует указания системного имени элемента типа Uploads в который будут помещены изображения (при использовании Uploadify_image изображения хранятся во внешней таблице БД).<br /> Перед миграцией необходимо дополнить, в случае отсутствия, таблицу re_image полями title VARCHAR(255) и description TEXT.<br /> Если миграция не выполнена, но старый элемент типа Uploadify_image заменен одноименным элементом типа Uploads, присоединенные картинки будут доступны только на просмотр с фронта, но не будут доступны на редактирование из админки. Эта доступность сохранится до первой загрузки картинки в элемент типа Uploads. После этого все изображения, которые были подхвачены из старого элемента, будут утеряны. === Пользовательские контроллеры === Пользовательские контроллеры создаются путем размещения в каталоге /apps/toolbox/useractions/ классов определенного вида. <pre> class recalc extends Object_Manager { public function getName(){ return 'Имя'; } public function run(){ $counts = array(); $DBC=DBC::getInstance(); $query = 'SELECT COUNT(`id`) AS _c, `user_id` FROM '.DB_PREFIX.'_data GROUP BY `user_id`'; $stmt = $DBC->query($query, $query_vals); if ($stmt) { $timelimit = time() - $item['t'] * 24 * 3600; while ($ar = $DBC->fetch($stmt)) { $counts[$ar['user_id']] = $ar['_c']; } } $query = 'UPDATE '.DB_PREFIX.'_user SET `objcount`=0 WHERE 1'; $stmt = $DBC->query($query); if(!empty($counts)){ $query = 'UPDATE '.DB_PREFIX.'_user SET `objcount`=? WHERE user_id=?'; foreach($counts as $user_id=>$count){ $stmt = $DBC->query($query, array($count, $user_id)); } } return 'Выполнено'; //print_r($counts); } } </pre> 8253ef33b9833990e413046f37d483b130ce37c6 845 844 2020-01-22T13:56:10Z Abushyk 2 /* Пользовательские контроллеры */ wikitext text/x-wiki Приложение для выполнения рутинных массовых задач. === Подгонка превьюшек === Используется для подгонки уменьшенных изображений картинок для объявлений. Применимо только к элементу типа Uploadify_image.<br /> Принцип работы: выбирает все картинки объявлений и пересоздает их уменьшенные копии согласно настроек apps.realty.data_image_preview_height, apps.realty.data_image_preview_width и apps.realty.preview_smart_resizing. Поскольку за исходное изображение берется нормальное изображение, то не уменьшенных изображениях, в результате этой операции, возможно появление водяного знака, если он был нанесен на нормальные изображения. === Из Uploadify в Uploads === Мигратор картинок из элемента типа Uploadify_image (базовая поставка) в элемент типа Uploads. Применяется для объявлений. Для своей работы требует указания системного имени элемента типа Uploads в который будут помещены изображения (при использовании Uploadify_image изображения хранятся во внешней таблице БД).<br /> Перед миграцией необходимо дополнить, в случае отсутствия, таблицу re_image полями title VARCHAR(255) и description TEXT.<br /> Если миграция не выполнена, но старый элемент типа Uploadify_image заменен одноименным элементом типа Uploads, присоединенные картинки будут доступны только на просмотр с фронта, но не будут доступны на редактирование из админки. Эта доступность сохранится до первой загрузки картинки в элемент типа Uploads. После этого все изображения, которые были подхвачены из старого элемента, будут утеряны. === Пользовательские контроллеры === Пользовательские контроллеры создаются путем размещения в каталоге /apps/toolbox/useractions/ классов определенного вида. <pre> class example extends Object_Manager { public function getName(){ return 'Имя контроллера example'; } public function run(){ Действия выполянемые контроллером example } } </pre> 856704c5283dce7e85f76507850ccef9304960c3 846 845 2020-01-22T13:57:07Z Abushyk 2 /* Пользовательские контроллеры */ wikitext text/x-wiki Приложение для выполнения рутинных массовых задач. === Подгонка превьюшек === Используется для подгонки уменьшенных изображений картинок для объявлений. Применимо только к элементу типа Uploadify_image.<br /> Принцип работы: выбирает все картинки объявлений и пересоздает их уменьшенные копии согласно настроек apps.realty.data_image_preview_height, apps.realty.data_image_preview_width и apps.realty.preview_smart_resizing. Поскольку за исходное изображение берется нормальное изображение, то не уменьшенных изображениях, в результате этой операции, возможно появление водяного знака, если он был нанесен на нормальные изображения. === Из Uploadify в Uploads === Мигратор картинок из элемента типа Uploadify_image (базовая поставка) в элемент типа Uploads. Применяется для объявлений. Для своей работы требует указания системного имени элемента типа Uploads в который будут помещены изображения (при использовании Uploadify_image изображения хранятся во внешней таблице БД).<br /> Перед миграцией необходимо дополнить, в случае отсутствия, таблицу re_image полями title VARCHAR(255) и description TEXT.<br /> Если миграция не выполнена, но старый элемент типа Uploadify_image заменен одноименным элементом типа Uploads, присоединенные картинки будут доступны только на просмотр с фронта, но не будут доступны на редактирование из админки. Эта доступность сохранится до первой загрузки картинки в элемент типа Uploads. После этого все изображения, которые были подхвачены из старого элемента, будут утеряны. === Пользовательские контроллеры === Пользовательские контроллеры создаются путем размещения в каталоге /apps/toolbox/useractions/ классов определенного вида. <pre> // /apps/toolbox/useractions/example.php class example extends Object_Manager { public function getName(){ return 'Имя контроллера example'; } public function run(){ Действия выполянемые контроллером example } } </pre> Имя файла должно совпадать с именем контроллера 5f9669f9b9c14bcb00436b8d8de44838bf38e39d 847 846 2020-01-22T13:58:27Z Abushyk 2 /* Пользовательские контроллеры */ wikitext text/x-wiki Приложение для выполнения рутинных массовых задач. === Подгонка превьюшек === Используется для подгонки уменьшенных изображений картинок для объявлений. Применимо только к элементу типа Uploadify_image.<br /> Принцип работы: выбирает все картинки объявлений и пересоздает их уменьшенные копии согласно настроек apps.realty.data_image_preview_height, apps.realty.data_image_preview_width и apps.realty.preview_smart_resizing. Поскольку за исходное изображение берется нормальное изображение, то не уменьшенных изображениях, в результате этой операции, возможно появление водяного знака, если он был нанесен на нормальные изображения. === Из Uploadify в Uploads === Мигратор картинок из элемента типа Uploadify_image (базовая поставка) в элемент типа Uploads. Применяется для объявлений. Для своей работы требует указания системного имени элемента типа Uploads в который будут помещены изображения (при использовании Uploadify_image изображения хранятся во внешней таблице БД).<br /> Перед миграцией необходимо дополнить, в случае отсутствия, таблицу re_image полями title VARCHAR(255) и description TEXT.<br /> Если миграция не выполнена, но старый элемент типа Uploadify_image заменен одноименным элементом типа Uploads, присоединенные картинки будут доступны только на просмотр с фронта, но не будут доступны на редактирование из админки. Эта доступность сохранится до первой загрузки картинки в элемент типа Uploads. После этого все изображения, которые были подхвачены из старого элемента, будут утеряны. === Пользовательские контроллеры === Пользовательские контроллеры создаются путем размещения в каталоге /apps/toolbox/useractions/ классов определенного вида. <pre> // /apps/toolbox/useractions/example.php class example extends Object_Manager { public function getName(){ return 'Имя контроллера example'; } public function run(){ Действия выполянемые контроллером example } } </pre> Имя файла должно совпадать с именем контроллера. Контроллер должен иметь две функции - '''getName''', которая возвращает имя для списка пользовательских контроллеров в админке приложения, и '''run''' - метод выполняющий действия при вызове контроллера a9515d230d0172772b7180931f65f39d1852743d Расширение Smarty 0 99 848 2020-01-24T08:54:53Z Abushyk 2 Новая страница: «Расширение Smarty» wikitext text/x-wiki Расширение Smarty 2c7cd0d46636c81be5a0037e354242c27e8216a8 850 848 2020-01-24T09:40:27Z Abushyk 2 wikitext text/x-wiki Расширение Smarty == _e == == formaturl == == absoluteurl == == relativeurl == 311085eacdaa8a9b2cc2a19af67610904fc3cff5 851 850 2020-01-24T09:41:20Z Abushyk 2 wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == == absoluteurl == == relativeurl == f641b7d22fda41253d0de14961ec5ed885c9abb8 852 851 2020-01-24T09:42:22Z Abushyk 2 wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == == absoluteurl == Создает абсолютный урл в шаблоне. Вызов имеет вид <pre>{absoluteurl url="appartments/sale"}</pre> == relativeurl == 37462694572ab00c0e984b0171c3d52b9573a8d6 853 852 2020-01-24T09:42:48Z Abushyk 2 wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == == absoluteurl == Создает абсолютный урл в шаблоне. Вызов имеет вид <pre>{absoluteurl url="appartments/sale"}</pre> == relativeurl == Создает относительный урл в шаблоне. Вызов имеет вид <pre>{relativeurl url="appartments/sale"}</pre> 65a563461ca6db09cb3b301fad0c5aa16291dd52 854 853 2020-01-24T09:44:21Z Abushyk 2 wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre>{absoluteurl url="appartments/sale" abs="1"}</pre> <pre>{absoluteurl url="appartments/sale"}</pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный == absoluteurl == Создает абсолютный урл в шаблоне. Вызов имеет вид <pre>{absoluteurl url="appartments/sale"}</pre> == relativeurl == Создает относительный урл в шаблоне. Вызов имеет вид <pre>{relativeurl url="appartments/sale"}</pre> 0968bfb68dee48db63f56230ea457d7afdeff2a1 Заглавная страница 0 1 849 773 2020-01-24T08:55:25Z Abushyk 2 /* Руководство программиста CMS Sitebill */ wikitext text/x-wiki <br /> [[FAQ]] ==Техническая документация CMS Sitebill== [[Введение]]<br /> {| class="wikitable" |- | [[Приложение "Редактор форм"]] || '''основной инструмент для управления формами''' |- | [[Типы элементов форм]] || '''описание основных типов (кирпичиков) из которых составляются формы''' |- | [[Приложения]] || '''CMS Sitebill состоит из отдельных модулей, каждый модуль выполняет свою определенную функцию''' |- | [[Страницы]] || Описание процесса создания и редактирования текстовых страниц со статичным HTML кодом. |- | [[Меню]] || Для организации удобной навигации можно создавать элементы меню с перечнем пунктов и ссылками на разделы сайта. |- | [[Шаблон]] || Описана типовая структура всех шаблонов |- | [[Общие настройки]] || Перечень всех настроек CMS Sitebill с кратким описанием. |- | [[Связанные элементы]] || Описана техника создания связи выпадающих списков в форме подачи объявления. Например, можно добавить дополнительный справочник микрорайонов и настроить зависимость списка от выбранного города. |- | [[Установка новых шаблонов]] || Процесс установки нового шаблона |- | [[Парсинг_КЛАДР|Парсинг КЛАДР]] || Загрузка готовых справочников городов, районов, улиц из общедоступного источника КЛАДР. |- | [[Настройка_робокассы|Настройка робокассы]] || Платежный шлюз |- | [[Структура_разделов|Структура разделов]] || Определяет типы недвижимости на сайте, также применяется при выводе объявлений по категориям и удобно при построении структуры сайта. |- | [[Редактор_текста_CKEditor|Редактор текста CKEditor]] || Удобный визуальный редактор для форматирования текста, добавления картинок и прочих HTML элементов. |- | [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]] || |- | [[mail|Настройка отправки писем с сайта]] || Решение частых проблем возникающих при работе с почтовым сервером на хостинге. |- | [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]] || |- | [[Распознавание адресов через dadata.ru|Распознавание адресов через dadata.ru]] || |- | [[Пользователи]] || Управление учетными записями пользователей. |- | [[Группы]] || Разделение пользователей на группы. Каждой группе можно назначать определенные права доступа в панели управления и на сайте. |- | [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]] || Позволяет контроллировать ввод правильного номера телефона в соответствии с форматом. |- | [[Как создать пользовательскую форму заявки]] || Например, создать новую форму заявки на ипотеку или заявку на бесплатную консультацию. |- | [[Дополнительные параметры поиска|Дополнительные параметры поиска]] || Формирование своих поисковых запросов. Применяется в случае, если вы через редактор форм добавляли новые элементы и хотите включить их в процесс поиска. |- | [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]] || |- | [[Перевод|Перевод контента на другие языки]] || |- | [[Параметры_приложения_apps.mlsparser]] || |- | [[Db.inc.php]] || |- | [[Центр_обновлений|Центр обновлений]] || |- | [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]] || |} ==Руководство программиста CMS Sitebill== {| class="wikitable" |- | [[RESTAPI ]] || Работа с системой через RESTAPI |- | [[Генератор списков (таблиц) ]] || Описание принципа генерации таблиц и способа кастомизации заголовков, колонок, элементов управления и т.д. |- | [[hooks|Пользовательские обработчики - hooks]] || Способы перехвата системных функций и добавление своего поведения в них на уровне шаблона (не затирается при обновлении) |- | [[Расширение Smarty]] || Расширение Smarty |} == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 6ba5ca6a590b162d97e4d5c31cd66819298d9285 Расширение Smarty 0 99 855 854 2020-01-24T09:45:24Z Abushyk 2 wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {absoluteurl url="appartments/sale" abs="1"} // http://domain.com/appartments/sale/ </pre> <pre> {absoluteurl url="appartments/sale"} // /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный == absoluteurl == Создает абсолютный урл в шаблоне. Вызов имеет вид <pre>{absoluteurl url="appartments/sale"}</pre> == relativeurl == Создает относительный урл в шаблоне. Вызов имеет вид <pre>{relativeurl url="appartments/sale"}</pre> d6ec73b28f32e959d285287db25f8cca0b21a1dd 856 855 2020-01-24T09:45:54Z Abushyk 2 /* absoluteurl */ wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {absoluteurl url="appartments/sale" abs="1"} // http://domain.com/appartments/sale/ </pre> <pre> {absoluteurl url="appartments/sale"} // /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный == absoluteurl == Создает абсолютный урл в шаблоне. Вызов имеет вид <pre> {absoluteurl url="appartments/sale"} // http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Вызов имеет вид <pre>{relativeurl url="appartments/sale"}</pre> 4896245b28d17388949d4870ad920cd80f5cabef 857 856 2020-01-24T09:46:08Z Abushyk 2 /* relativeurl */ wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {absoluteurl url="appartments/sale" abs="1"} // http://domain.com/appartments/sale/ </pre> <pre> {absoluteurl url="appartments/sale"} // /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный == absoluteurl == Создает абсолютный урл в шаблоне. Вызов имеет вид <pre> {absoluteurl url="appartments/sale"} // http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Вызов имеет вид <pre> {relativeurl url="appartments/sale"} // /appartments/sale/ </pre> b2b26bd522504864cf634f51e8561dc3db50f046 858 857 2020-01-24T09:46:32Z Abushyk 2 /* formaturl */ wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {absoluteurl url="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {absoluteurl url="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный == absoluteurl == Создает абсолютный урл в шаблоне. Вызов имеет вид <pre> {absoluteurl url="appartments/sale"} // http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Вызов имеет вид <pre> {relativeurl url="appartments/sale"} // /appartments/sale/ </pre> 039978ba019a3dec40556cbd26bb23037927cfdc 859 858 2020-01-24T09:46:40Z Abushyk 2 /* absoluteurl */ wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {absoluteurl url="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {absoluteurl url="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный == absoluteurl == Создает абсолютный урл в шаблоне. Вызов имеет вид <pre> {absoluteurl url="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Вызов имеет вид <pre> {relativeurl url="appartments/sale"} // /appartments/sale/ </pre> dea294ef96502e415d9460a5b0a0d91e7994dc4d 860 859 2020-01-24T09:46:46Z Abushyk 2 /* relativeurl */ wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {absoluteurl url="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {absoluteurl url="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный == absoluteurl == Создает абсолютный урл в шаблоне. Вызов имеет вид <pre> {absoluteurl url="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Вызов имеет вид <pre> {relativeurl url="appartments/sale"} результат: /appartments/sale/ </pre> 32f2e749e9993cf8f5a60c27d2f140162eb0317d 861 860 2020-01-24T09:47:39Z Abushyk 2 /* absoluteurl */ wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {absoluteurl url="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {absoluteurl url="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный == absoluteurl == Создает абсолютный урл в шаблоне. Ярлык для вызова функции Вызов имеет вид <pre> {absoluteurl url="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Вызов имеет вид <pre> {relativeurl url="appartments/sale"} результат: /appartments/sale/ </pre> 15aaecb768187092a5c770ddc4fed884537d8dba 862 861 2020-01-24T09:48:03Z Abushyk 2 /* absoluteurl */ wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {absoluteurl url="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {absoluteurl url="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный == absoluteurl == Создает абсолютный урл в шаблоне. Ярлык для вызова функции formaturl с параметром abs. Вызов имеет вид <pre> {absoluteurl url="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Вызов имеет вид <pre> {relativeurl url="appartments/sale"} результат: /appartments/sale/ </pre> 2da72e697f615721920bf9d613d927524fde4654 863 862 2020-01-24T09:48:18Z Abushyk 2 /* relativeurl */ wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {absoluteurl url="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {absoluteurl url="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный == absoluteurl == Создает абсолютный урл в шаблоне. Ярлык для вызова функции formaturl с параметром abs. Вызов имеет вид <pre> {absoluteurl url="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Ярлык для вызова функции formaturl без параметра abs. Вызов имеет вид <pre> {relativeurl url="appartments/sale"} результат: /appartments/sale/ </pre> 15ac957f9cd50bb9d3893c22154864e1625170ed 864 863 2020-01-24T11:24:59Z Abushyk 2 /* formaturl */ wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {formaturl url="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {formaturl url="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный == absoluteurl == Создает абсолютный урл в шаблоне. Ярлык для вызова функции formaturl с параметром abs. Вызов имеет вид <pre> {absoluteurl url="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Ярлык для вызова функции formaturl без параметра abs. Вызов имеет вид <pre> {relativeurl url="appartments/sale"} результат: /appartments/sale/ </pre> a6d0dd7d1618912024f7797a4f12f8d675f1c895 865 864 2020-01-30T14:32:10Z Abushyk 2 /* formaturl */ wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {formaturl url="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {formaturl url="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный Параметр monolang. Опциональный. Варианты 1 или 0. По-умолчанию 0. Указывает запрет на использование языкового префикса в ссылке (1) - например для ссылок в админку. Параметр locale. Опциональный. Варианты - строка с локалью. По-умолчанию ''. Указывает установить переданную локаль вместо установленной из запроса. Для создания ссылок на другие языковые версии. == absoluteurl == Создает абсолютный урл в шаблоне. Ярлык для вызова функции formaturl с параметром abs. Вызов имеет вид <pre> {absoluteurl url="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Ярлык для вызова функции formaturl без параметра abs. Вызов имеет вид <pre> {relativeurl url="appartments/sale"} результат: /appartments/sale/ </pre> 8e48b621b8897235362ab9b958ee61eaa8fd0f75 866 865 2020-02-23T19:55:28Z Abushyk 2 wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {formaturl path="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {formaturl path="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный Параметр monolang. Опциональный. Варианты 1 или 0. По-умолчанию 0. Указывает запрет на использование языкового префикса в ссылке (1) - например для ссылок в админку. Параметр locale. Опциональный. Варианты - строка с локалью. По-умолчанию ''. Указывает установить переданную локаль вместо установленной из запроса. Для создания ссылок на другие языковые версии. == absoluteurl == Создает абсолютный урл в шаблоне. Ярлык для вызова функции formaturl с параметром abs. Вызов имеет вид <pre> {absoluteurl path="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Ярлык для вызова функции formaturl без параметра abs. Вызов имеет вид <pre> {relativeurl path="appartments/sale"} результат: /appartments/sale/ </pre> 02b6ec70e044a1d764ee09d63788050e10878ce6 887 866 2020-04-10T08:52:03Z Abushyk 2 wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {formaturl path="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {formaturl path="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный Параметр monolang. Опциональный. Варианты 1 или 0. По-умолчанию 0. Указывает запрет на использование языкового префикса в ссылке (1) - например для ссылок в админку. Параметр locale. Опциональный. Варианты - строка с локалью. По-умолчанию ''. Указывает установить переданную локаль вместо установленной из запроса. Для создания ссылок на другие языковые версии. == absoluteurl == Создает абсолютный урл в шаблоне. Ярлык для вызова функции formaturl с параметром abs. Вызов имеет вид <pre> {absoluteurl path="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Ярлык для вызова функции formaturl без параметра abs. Вызов имеет вид <pre> {relativeurl path="appartments/sale"} результат: /appartments/sale/ </pre> == mediaincpath == Создает путь включения графики <pre> {mediaincpath data=DATA type=TYPE src=SRC} </pre> Параметры: DATA - элемент коллекции фото TYPE - типоразмер фото. Возможные значения: preview - мини-фото. По-умолчанию вставляется больший вариант фото. SRC - адрес фото. Возможные значения: 1 - абсолютная адресация, 2 - адресация от корня сервера. По-умолчанию вставляется с относительной адресацией от корня сайта. 9d10077760619ee6b96e1c69d9d279c8ec6d1e70 888 887 2020-04-10T08:52:22Z Abushyk 2 /* mediaincpath */ wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {formaturl path="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {formaturl path="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный Параметр monolang. Опциональный. Варианты 1 или 0. По-умолчанию 0. Указывает запрет на использование языкового префикса в ссылке (1) - например для ссылок в админку. Параметр locale. Опциональный. Варианты - строка с локалью. По-умолчанию ''. Указывает установить переданную локаль вместо установленной из запроса. Для создания ссылок на другие языковые версии. == absoluteurl == Создает абсолютный урл в шаблоне. Ярлык для вызова функции formaturl с параметром abs. Вызов имеет вид <pre> {absoluteurl path="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Ярлык для вызова функции formaturl без параметра abs. Вызов имеет вид <pre> {relativeurl path="appartments/sale"} результат: /appartments/sale/ </pre> == mediaincpath == Создает путь включения графики <pre> {mediaincpath data=DATA type=TYPE src=SRC} </pre> Параметры:<br /> DATA - элемент коллекции фото<br /> TYPE - типоразмер фото. Возможные значения: preview - мини-фото. По-умолчанию вставляется больший вариант фото.<br /> SRC - адрес фото. Возможные значения: 1 - абсолютная адресация, 2 - адресация от корня сервера. По-умолчанию вставляется с относительной адресацией от корня сайта. 83d845a4075cce5f5047269f51b441b3fb78a959 889 888 2020-04-10T08:54:43Z Abushyk 2 /* mediaincpath */ wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {formaturl path="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {formaturl path="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный Параметр monolang. Опциональный. Варианты 1 или 0. По-умолчанию 0. Указывает запрет на использование языкового префикса в ссылке (1) - например для ссылок в админку. Параметр locale. Опциональный. Варианты - строка с локалью. По-умолчанию ''. Указывает установить переданную локаль вместо установленной из запроса. Для создания ссылок на другие языковые версии. == absoluteurl == Создает абсолютный урл в шаблоне. Ярлык для вызова функции formaturl с параметром abs. Вызов имеет вид <pre> {absoluteurl path="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Ярлык для вызова функции formaturl без параметра abs. Вызов имеет вид <pre> {relativeurl path="appartments/sale"} результат: /appartments/sale/ </pre> == mediaincpath == Создает путь включения графики <pre> {mediaincpath data=DATA type=TYPE src=SRC} </pre> Параметры:<br /> DATA - элемент коллекции фото<br /> TYPE - типоразмер фото. Возможные значения: preview - мини-фото. По-умолчанию вставляется больший вариант фото.<br /> SRC - адрес фото. Возможные значения: 1 - абсолютная адресация, 2 - адресация от корня сервера. По-умолчанию вставляется с относительной адресацией от корня сайта. Для вставки фото в шаблоне сайта используется <pre> {mediaincpath data=$photo type='preview'} - вставка превью {mediaincpath data=$photo} - вставка большого изображения </pre> Для PDF-шаблонов <pre> {mediaincpath data=$photo type='preview' src=2} - вставка превью {mediaincpath data=$photo src=2} - вставка большого изображения </pre> Для почтовых шаблонов и других шаблонов, отображение которых будет производиться вне контекста сайта (рассылки, информеры) <pre> {mediaincpath data=$photo type='preview' src=1} - вставка превью {mediaincpath data=$photo src=1} - вставка большого изображения </pre> d5d105bad6aba567e424f445cf1d58a488a988bc 890 889 2020-04-10T08:56:29Z Abushyk 2 /* mediaincpath */ wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {formaturl path="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {formaturl path="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный Параметр monolang. Опциональный. Варианты 1 или 0. По-умолчанию 0. Указывает запрет на использование языкового префикса в ссылке (1) - например для ссылок в админку. Параметр locale. Опциональный. Варианты - строка с локалью. По-умолчанию ''. Указывает установить переданную локаль вместо установленной из запроса. Для создания ссылок на другие языковые версии. == absoluteurl == Создает абсолютный урл в шаблоне. Ярлык для вызова функции formaturl с параметром abs. Вызов имеет вид <pre> {absoluteurl path="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Ярлык для вызова функции formaturl без параметра abs. Вызов имеет вид <pre> {relativeurl path="appartments/sale"} результат: /appartments/sale/ </pre> == mediaincpath == Создает путь включения графики <pre> {mediaincpath data=DATA type=TYPE src=SRC} </pre> Параметры:<br /> DATA - элемент коллекции фото<br /> TYPE - типоразмер фото. Возможные значения: preview - мини-фото. По-умолчанию вставляется больший вариант фото.<br /> SRC - адрес фото. Возможные значения: 1 - абсолютная адресация, 2 - адресация от корня сервера. По-умолчанию вставляется с относительной адресацией от корня сайта. Для вставки фото в шаблоне сайта используется <pre> {mediaincpath data=$photo type='preview'} - вставка превью // /img/data/prv762388943534.jpg {mediaincpath data=$photo} - вставка большого изображения // /img/data/img762388943534.jpg </pre> Для PDF-шаблонов <pre> {mediaincpath data=$photo type='preview' src=2} - вставка превью // /home/var/user/www/somesite.ru/img/data/prv762388943534.jpg {mediaincpath data=$photo src=2} - вставка большого изображения // /home/var/user/www/somesite.ru/img/data/img762388943534.jpg </pre> Для почтовых шаблонов и других шаблонов, отображение которых будет производиться вне контекста сайта (рассылки, информеры) <pre> {mediaincpath data=$photo type='preview' src=1} - вставка превью // https://somesite.ru/img/data/prv762388943534.jpg {mediaincpath data=$photo src=1} - вставка большого изображения // https://somesite.ru/img/data/img762388943534.jpg </pre> ef3d58829d6e2c98dab9287774785cd61b4eaac7 891 890 2020-05-12T03:38:31Z Kondin 1 wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == getConfig == Получение конфигурационного параметра по ключу <pre>{getConfig key='phpunit_test'}</pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {formaturl path="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {formaturl path="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный Параметр monolang. Опциональный. Варианты 1 или 0. По-умолчанию 0. Указывает запрет на использование языкового префикса в ссылке (1) - например для ссылок в админку. Параметр locale. Опциональный. Варианты - строка с локалью. По-умолчанию ''. Указывает установить переданную локаль вместо установленной из запроса. Для создания ссылок на другие языковые версии. == absoluteurl == Создает абсолютный урл в шаблоне. Ярлык для вызова функции formaturl с параметром abs. Вызов имеет вид <pre> {absoluteurl path="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Ярлык для вызова функции formaturl без параметра abs. Вызов имеет вид <pre> {relativeurl path="appartments/sale"} результат: /appartments/sale/ </pre> == mediaincpath == Создает путь включения графики <pre> {mediaincpath data=DATA type=TYPE src=SRC} </pre> Параметры:<br /> DATA - элемент коллекции фото<br /> TYPE - типоразмер фото. Возможные значения: preview - мини-фото. По-умолчанию вставляется больший вариант фото.<br /> SRC - адрес фото. Возможные значения: 1 - абсолютная адресация, 2 - адресация от корня сервера. По-умолчанию вставляется с относительной адресацией от корня сайта. Для вставки фото в шаблоне сайта используется <pre> {mediaincpath data=$photo type='preview'} - вставка превью // /img/data/prv762388943534.jpg {mediaincpath data=$photo} - вставка большого изображения // /img/data/img762388943534.jpg </pre> Для PDF-шаблонов <pre> {mediaincpath data=$photo type='preview' src=2} - вставка превью // /home/var/user/www/somesite.ru/img/data/prv762388943534.jpg {mediaincpath data=$photo src=2} - вставка большого изображения // /home/var/user/www/somesite.ru/img/data/img762388943534.jpg </pre> Для почтовых шаблонов и других шаблонов, отображение которых будет производиться вне контекста сайта (рассылки, информеры) <pre> {mediaincpath data=$photo type='preview' src=1} - вставка превью // https://somesite.ru/img/data/prv762388943534.jpg {mediaincpath data=$photo src=1} - вставка большого изображения // https://somesite.ru/img/data/img762388943534.jpg </pre> 601f30c1324e34f9327eeec894d85adecbbe92c2 892 891 2020-05-12T04:51:20Z Kondin 1 /* getConfig */ wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == getConfig == Получение конфигурационного параметра по ключу <pre>{getConfig key='phpunit_test'}</pre> Пример определения опции и действия по этой опции <pre> {if {getConfig key='apps.mailbox.use_complaint_mode'} eq 1} тут действия, если условия соблюдаются {/if} </pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {formaturl path="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {formaturl path="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный Параметр monolang. Опциональный. Варианты 1 или 0. По-умолчанию 0. Указывает запрет на использование языкового префикса в ссылке (1) - например для ссылок в админку. Параметр locale. Опциональный. Варианты - строка с локалью. По-умолчанию ''. Указывает установить переданную локаль вместо установленной из запроса. Для создания ссылок на другие языковые версии. == absoluteurl == Создает абсолютный урл в шаблоне. Ярлык для вызова функции formaturl с параметром abs. Вызов имеет вид <pre> {absoluteurl path="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Ярлык для вызова функции formaturl без параметра abs. Вызов имеет вид <pre> {relativeurl path="appartments/sale"} результат: /appartments/sale/ </pre> == mediaincpath == Создает путь включения графики <pre> {mediaincpath data=DATA type=TYPE src=SRC} </pre> Параметры:<br /> DATA - элемент коллекции фото<br /> TYPE - типоразмер фото. Возможные значения: preview - мини-фото. По-умолчанию вставляется больший вариант фото.<br /> SRC - адрес фото. Возможные значения: 1 - абсолютная адресация, 2 - адресация от корня сервера. По-умолчанию вставляется с относительной адресацией от корня сайта. Для вставки фото в шаблоне сайта используется <pre> {mediaincpath data=$photo type='preview'} - вставка превью // /img/data/prv762388943534.jpg {mediaincpath data=$photo} - вставка большого изображения // /img/data/img762388943534.jpg </pre> Для PDF-шаблонов <pre> {mediaincpath data=$photo type='preview' src=2} - вставка превью // /home/var/user/www/somesite.ru/img/data/prv762388943534.jpg {mediaincpath data=$photo src=2} - вставка большого изображения // /home/var/user/www/somesite.ru/img/data/img762388943534.jpg </pre> Для почтовых шаблонов и других шаблонов, отображение которых будет производиться вне контекста сайта (рассылки, информеры) <pre> {mediaincpath data=$photo type='preview' src=1} - вставка превью // https://somesite.ru/img/data/prv762388943534.jpg {mediaincpath data=$photo src=1} - вставка большого изображения // https://somesite.ru/img/data/img762388943534.jpg </pre> 5999c6688beb8b77f249deed633943bb01defc4c Приложение "Выгрузка Yandex.Realty" 0 31 867 779 2020-03-07T13:38:19Z Abushyk 2 /* Hooks для замены контактов */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == eb00d089e2049ecd1be32ef455b36064714df0c7 868 867 2020-03-07T13:51:16Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида: Активен - устанавливает активность фида - его доступность по указанному адресу. Игнорировать активность при выгрузке - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности. Длина фида - максимальное число выгружаемых объектов. При неуказании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры. 4adb2667493b2051d1a3f613e40df21376b43574 869 868 2020-03-07T14:00:35Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида: Активен - устанавливает активность фида - его доступность по указанному адресу. Игнорировать активность при выгрузке - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности. Длина фида - максимальное число выгружаемых объектов. При неуказании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры. Алиас - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. Сортировка - системное имя своства в модели data для сортировки фида. При неу 6ee37e804c5b3befb9a06f4a097e7e08a2d1552b 870 869 2020-03-07T14:06:29Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида: '''Активен''' - устанавливает активность фида - его доступность по указанному адресу. '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности. '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры. '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует. '''Направление сортировки''' - устанавливает направление сортировки '''Примечание или описание''' - произвольное описание фида '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки. d2bbaf5fab538664b431d4bd03f52fd32ebf1867 871 870 2020-03-07T14:07:05Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> b7eec5b016d9ab2cc9eaf44571f2db3be29aeba4 872 871 2020-03-07T15:28:42Z Abushyk 2 /* Фиды */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> {| class="wikitable" |- ! Текст заголовка !! Текст заголовка !! Текст заголовка !! Текст заголовка !! Текст заголовка !! Текст заголовка !! Текст заголовка !! Текст заголовка !! Текст заголовка |- | Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки |} 8bbd3d0b58bb5aaf31b43bf8bb5a6f5dfdd99ec9 873 872 2020-03-07T15:30:12Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> {| class="wikitable" |- ! Текст заголовка !! больше !! меньше !! равно !! не равно !! больше или равно !! меньше или равно !! равно нулю или пустой строке !! равно не нулю или не пустой строке |- | Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки |- | Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки |} 9bf03d3cc40f38d124044690abfcf40f9c14309d 874 873 2020-03-07T15:35:08Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> {| class="wikitable" |- ! NNN !! больше !! меньше !! равно !! не равно !! больше или равно !! меньше или равно !! равно нулю или пустой строке !! равно не нулю или не пустой строке |- | safe_string || - || - || - || - || - || - || - || - |- | safe_string || - || - || - || - || - || - || - || - |- | safe_string || - || - || - || - || - || - || - || - |} 7794fd4db84858061bbcc929521faa4ddb841463 875 874 2020-03-07T15:58:41Z Abushyk 2 /* Фиды */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> {| class="wikitable" |- ! NNN !! больше !! меньше !! равно !! не равно !! больше или равно !! меньше или равно !! равно нулю или пустой строке !! равно не нулю или не пустой строке |- | safe_string || - || - || - || - || - || - || - || - |- | primary_key || - || - || - || - || - || - || - || - |- | price || - || - || - || - || - || - || - || - |- | mobilephone || - || - || - || - || - || - || - || - |- | date || - || - || - || - || - || - || - || - |- | dtdate || - || - || - || - || - || - || - || - |- | dtdatetime || - || - || - || - || - || - || - || - |- | geodata || - || - || - || - || - || - || - || - |- | checkbox || - || - || - || - || - || - || - || - |- | select_box_structure || - || - || - || - || - || - || - || - |- | select_by_query || - || - || - || - || - || - || - || - |- | select_by_query_multi || - || - || - || - || - || - || - || - |- | select_box || - || - || - || - || - || - || - || - |- | textarea || - || - || - || - || - || - || - || - |- | texarea_editor || - || - || - || - || - || - || - || - |- | uploads || - || - || - || - || - || - || - || - |- | docuploads || - || - || - || - || - || - || - || - |} ac8a2cf82e8bc8431d94cfb83f4af92576b030e2 876 875 2020-03-07T20:47:12Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> Количество значений: '''S''' - одно '''M''' - несколько {| class="wikitable" |- ! NNN !! больше !! меньше !! равно !! не равно !! больше или равно !! меньше или равно !! равно нулю или пустой строке !! равно не нулю или не пустой строке |- | safe_string || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | primary_key || - || - || - || - || - || - || - || - |- | price || - || - || - || - || - || - || - || - |- | mobilephone || - || - || - || - || - || - || - || - |- | date || - || - || - || - || - || - || - || - |- | dtdate || - || - || - || - || - || - || - || - |- | dtdatetime || - || - || - || - || - || - || - || - |- | geodata || - || - || - || - || - || - || - || - |- | checkbox || - || - || - || - || - || - || - || - |- | select_box_structure || - || - || - || - || - || - || - || - |- | select_by_query || - || - || - || - || - || - || - || - |- | select_by_query_multi || - || - || - || - || - || - || - || - |- | select_box || - || - || - || - || - || - || - || - |- | textarea || - || - || - || - || - || - || - || - |- | texarea_editor || - || - || - || - || - || - || - || - |- | uploads || - || - || - || - || - || - || - || - |- | docuploads || - || - || - || - || - || - || - || - |} dccb3339600f92baf223047ba1b65522a5e0ac17 877 876 2020-03-07T20:49:29Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> Количество значений: '''S''' - одно '''M''' - несколько '''E''' - ни одного '''X''' - недопустимо {| class="wikitable" |- ! NNN !! больше !! меньше !! равно !! не равно !! больше или равно !! меньше или равно !! равно нулю или пустой строке !! равно не нулю или не пустой строке |- | safe_string || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | primary_key || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | price || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | mobilephone || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | date || - || - || - || - || - || - || - || - |- | dtdate || - || - || - || - || - || - || - || - |- | dtdatetime || - || - || - || - || - || - || - || - |- | geodata || - || - || - || - || - || - || - || - |- | checkbox || '''E''' || '''E''' || '''S''' || '''S''' || '''E''' || '''E''' || '''E''' || '''E''' |- | select_box_structure || - || - || - || - || - || - || - || - |- | select_by_query || - || - || - || - || - || - || - || - |- | select_by_query_multi || - || - || - || - || - || - || - || - |- | select_box || - || - || - || - || - || - || - || - |- | textarea || - || - || - || - || - || - || - || - |- | texarea_editor || - || - || - || - || - || - || - || - |- | uploads || - || - || - || - || - || - || - || - |- | docuploads || - || - || - || - || - || - || - || - |} 86e5d0895fa4d5dc7a25ec96d470d87edf9bdc6f 878 877 2020-03-08T08:43:12Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> Количество значений: '''S''' - одно '''M''' - несколько '''E''' - ни одного '''X''' - недопустимо {| class="wikitable" |- ! NNN !! больше !! меньше !! равно !! не равно !! больше или равно !! меньше или равно !! свойство установлено !! свойство не установлено |- | safe_string || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | primary_key || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | price || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | mobilephone || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | date || - || - || - || - || - || - || - || - |- | dtdate || - || - || - || - || - || - || - || - |- | dtdatetime || - || - || - || - || - || - || - || - |- | geodata || - || - || - || - || - || - || - || - |- | checkbox || '''E''' || '''E''' || '''S''' || '''S''' || '''E''' || '''E''' || '''E''' || '''E''' |- | select_box_structure || - || - || - || - || - || - || - || - |- | select_by_query || - || - || - || - || - || - || - || - |- | select_by_query_multi || - || - || - || - || - || - || - || - |- | select_box || - || - || - || - || - || - || - || - |- | textarea || - || - || - || - || - || - || - || - |- | texarea_editor || - || - || - || - || - || - || - || - |- | uploads || - || - || - || - || - || - || - || - |- | docuploads || - || - || - || - || - || - || - || - |} d54d5b3918ebe9e548ef53632771949b7b3fef9d 879 878 2020-03-08T12:00:06Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> Количество значений: '''S''' - одно '''M''' - несколько '''E''' - ни одного '''X''' - недопустимо {| class="wikitable" |- ! NNN !! больше !! меньше !! равно !! не равно !! больше или равно !! меньше или равно !! свойство установлено !! свойство не установлено |- | safe_string || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | primary_key || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | price || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | mobilephone || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | date || - || - || - || - || - || - || - || - |- | dtdate || - || - || - || - || - || - || - || - |- | dtdatetime || - || - || - || - || - || - || - || - |- | geodata || - || - || - || - || - || - || '''E''' || '''E''' |- | checkbox || '''E''' || '''E''' || '''S''' || '''S''' || '''E''' || '''E''' || '''E''' || '''E''' |- | select_box_structure || - || - || - || - || - || - || - || - |- | select_by_query || - || - || - || - || - || - || - || - |- | select_by_query_multi || - || - || - || - || - || - || - || - |- | select_box || - || - || - || - || - || - || - || - |- | textarea || - || - || - || - || - || - || '''E''' || '''E''' |- | texarea_editor || - || - || - || - || - || - || '''E''' || '''E''' |- | uploads || - || - || - || - || - || - || '''E''' || '''E''' |- | docuploads || - || - || - || - || - || - || '''E''' || '''E''' |} ed27cd455c01236a41207efab6c0d27a4beab3b3 880 879 2020-03-08T12:12:25Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> Количество значений: '''S''' - одно '''M''' - несколько '''E''' - ни одного '''X''' - недопустимо {| class="wikitable" |- ! NNN !! больше !! меньше !! равно !! не равно !! больше или равно !! меньше или равно !! свойство установлено !! свойство не установлено |- | safe_string || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | primary_key || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | price || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | mobilephone || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | date || - || - || - || - || - || - || - || - |- | dtdate || - || - || - || - || - || - || - || - |- | dtdatetime || - || - || - || - || - || - || - || - |- | geodata || - || - || - || - || - || - || '''E''' || '''E''' |- | checkbox || '''E''' || '''E''' || '''S''' || '''S''' || '''E''' || '''E''' || '''E''' || '''E''' |- | select_box_structure || '''S''' || '''S''' || '''S''' || '''S''' || - || - || - || - |- | select_by_query || '''S''' || '''S''' || '''S''' || '''S''' || - || - || - || - |- | select_by_query_multi || - || - || - || - || - || - || - || - |- | select_box || '''S''' || '''S''' || '''S''' || '''S''' || - || - || - || - |- | textarea || - || - || - || - || - || - || '''E''' || '''E''' |- | texarea_editor || - || - || - || - || - || - || '''E''' || '''E''' |- | uploads || - || - || - || - || - || - || '''E''' || '''E''' |- | docuploads || - || - || - || - || - || - || '''E''' || '''E''' |} abcec1214a7ce2bad1286e7f519ad684a9475ada 881 880 2020-03-08T15:48:40Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> Количество значений: '''S''' - одно '''M''' - несколько '''E''' - ни одного '''X''' - недопустимо {| class="wikitable" |- ! NNN !! больше !! меньше !! равно !! не равно !! больше или равно !! меньше или равно !! свойство установлено !! свойство не установлено |- | safe_string || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | primary_key || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | price || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | mobilephone || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | date || не применимо || не применимо || - || - || - || - || - || - |- | dtdate || не применимо || не применимо || - || - || - || - || - || - |- | dtdatetime || не применимо || не применимо || - || - || - || - || - || - |- | geodata || не применимо || не применимо || - || - || - || - || '''E''' || '''E''' |- | checkbox || '''E''' || '''E''' || '''S''' || '''S''' || '''E''' || '''E''' || '''E''' || '''E''' |- | select_box_structure || '''S''' || '''S''' || '''S''' || '''S''' || - || - || - || - |- | select_by_query || '''S''' || '''S''' || '''S''' || '''S''' || - || - || - || - |- | select_by_query_multi || - || - || - || - || - || - || - || - |- | select_box || '''S''' || '''S''' || '''S''' || '''S''' || - || - || - || - |- | textarea || не применимо || не применимо || - || - || - || - || '''E''' || '''E''' |- | texarea_editor || не применимо || не применимо || - || - || - || - || '''E''' || '''E''' |- | uploads || не применимо || не применимо || - || - || - || - || '''E''' || '''E''' |- | docuploads || не применимо || не применимо || - || - || - || - || '''E''' || '''E''' |} 91c13e6082ab63f39ff9f8fb4fe85f86849678c8 882 881 2020-03-08T15:56:36Z Abushyk 2 wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> Количество значений: '''S''' - одно '''M''' - несколько '''E''' - ни одного '''X''' - недопустимо {| class="wikitable" |- ! NNN !! больше !! меньше !! равно !! не равно !! больше или равно !! меньше или равно !! свойство установлено !! свойство не установлено |- | safe_string || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | primary_key || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | price || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | mobilephone || '''S''' || '''S''' || '''M''' || '''M''' || '''S''' || '''S''' || '''E''' || '''E''' |- | date || '''X''' || '''X''' || - || - || - || - || - || - |- | dtdate || '''X''' || '''X''' || - || - || - || - || - || - |- | dtdatetime || '''X''' || '''X''' || - || - || - || - || - || - |- | geodata || '''X''' || '''X''' || - || - || - || - || '''E''' || '''E''' |- | checkbox || '''E''' || '''E''' || '''S''' || '''S''' || '''E''' || '''E''' || '''E''' || '''E''' |- | select_box_structure || '''S''' || '''S''' || '''S''' || '''S''' || - || - || - || - |- | select_by_query || '''S''' || '''S''' || '''S''' || '''S''' || - || - || - || - |- | select_by_query_multi || - || - || - || - || - || - || - || - |- | select_box || '''S''' || '''S''' || '''S''' || '''S''' || - || - || - || - |- | textarea || '''X''' || '''X''' || - || - || - || - || '''E''' || '''E''' |- | texarea_editor || '''X''' || '''X''' || - || - || - || - || '''E''' || '''E''' |- | uploads || '''X''' || '''X''' || - || - || - || - || '''E''' || '''E''' |- | docuploads || '''X''' || '''X''' || - || - || - || - || '''E''' || '''E''' |} 4a1062bd8386273af62aaa68763ed96c8581339b 883 882 2020-03-08T16:03:08Z Abushyk 2 /* Фиды */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> Количество значений: '''S''' - одно '''M''' - несколько '''E''' - ни одного '''X''' - недопустимо {| class="wikitable" |- ! NNN !! равно\не равно !! больше\меньше !! больше\меньше или равно !! свойство установлено\не установлено |- | safe_string || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | primary_key || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | price || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | mobilephone || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | date || '''X''' || выражение даты ** || выражение даты ** || '''X''' |- | dtdate || '''X''' || выражение даты ** || выражение даты ** || '''X''' |- | dtdatetime || '''X''' || выражение даты ** || выражение даты ** || '''X''' |- | geodata || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | checkbox || одно или несколько значений || '''X''' || '''X''' || пустое выражение *** |- | select_box_structure || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | select_by_query || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | select_by_query_multi || - || - || - || - || - || - || - || - |- | select_box || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | textarea || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | texarea_editor || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | uploads || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | docuploads || '''X''' || '''X''' || '''X''' || пустое выражение *** |} 13100d66e715ef583894eba7060a9e62023b9166 884 883 2020-03-08T16:06:53Z Abushyk 2 /* Фиды */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> Количество значений: '''S''' - одно '''M''' - несколько '''E''' - ни одного '''X''' - недопустимо {| class="wikitable" |- ! NNN !! равно\не равно !! больше\меньше !! больше\меньше или равно !! свойство установлено\не установлено |- | safe_string || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | primary_key || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | price || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | mobilephone || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | date || '''X''' || выражение даты ** || выражение даты ** || '''X''' |- | dtdate || '''X''' || выражение даты ** || выражение даты ** || '''X''' |- | dtdatetime || '''X''' || выражение даты ** || выражение даты ** || '''X''' |- | geodata || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | checkbox || одно или несколько значений || '''X''' || '''X''' || пустое выражение *** |- | select_box_structure || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | select_by_query || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | select_by_query_multi || - || - || - || - || - || - || - || - |- | select_box || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | textarea || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | texarea_editor || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | uploads || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | docuploads || '''X''' || '''X''' || '''X''' || пустое выражение *** |} * одно значение означает, что строка значений не содержит запятую. Если в таком поле будет передано несколько значений, то для расчета условия будет применено только первое из них, а остальные проигнорированы. Например вы указали <pre> city_id | больше | 6,4,7 </pre> такая запись будет расценена как <pre> city_id | больше | 6 </pre> 10d58b99e2ed8b2e1008b1bd0a8740670af8091a 885 884 2020-03-08T16:08:52Z Abushyk 2 /* Фиды */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> Количество значений: '''S''' - одно '''M''' - несколько '''E''' - ни одного '''X''' - недопустимо {| class="wikitable" |- ! NNN !! равно\не равно !! больше\меньше !! больше\меньше или равно !! свойство установлено\не установлено |- | safe_string || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | primary_key || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | price || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | mobilephone || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | date || '''X''' || выражение даты ** || выражение даты ** || '''X''' |- | dtdate || '''X''' || выражение даты ** || выражение даты ** || '''X''' |- | dtdatetime || '''X''' || выражение даты ** || выражение даты ** || '''X''' |- | geodata || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | checkbox || одно или несколько значений || '''X''' || '''X''' || пустое выражение *** |- | select_box_structure || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | select_by_query || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | select_by_query_multi || - || - || - || - || - || - || - || - |- | select_box || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | textarea || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | texarea_editor || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | uploads || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | docuploads || '''X''' || '''X''' || '''X''' || пустое выражение *** |} '''одно значение''' означает, что строка значений не содержит запятую. Если в таком поле будет передано несколько значений, то для расчета условия будет применено только первое из них, а остальные проигнорированы. Например вы указали <pre> city_id | больше | 6,4,7 </pre> такая запись будет расценена как <pre> city_id | больше | 6 </pre> 4ee004c4f89a5f2edfb1825033612d4b88f8d906 886 885 2020-03-08T16:18:17Z Abushyk 2 /* Фиды */ wikitext text/x-wiki == Описание == Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость ([https://yandex.ru/support/webmaster/realty/requirements.xml Спецификация]) ==Типы выгрузок== '''Стандартная''' - осуществляется через стандартную точку доступа при отсутствии указанного своего алиаса точки доступа в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''<br /> '''Расширенная''' - осуществляется через точку доступа указанную в параметре настроек - ''Алиас приложения (apps.yandexrealty.alias)''. Даже если в этом параметре указать стандартное имя ''yandexrealty'', выгрузка все равно будет выполняться по типу '''Расширенная'''<br /> Эти варианты выгрузок отличаются внутренней механикой формирования фида и способом сбора данных для отдачи, что приводит разным возможностям использования полученных данных. Использование Расширенной выгрузки является приоритетным. Так же Расширенная выгрузка может быть модифицирована под нужды пользователя в отличии от Стандартной. == Общая информация == Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.<br /> Адрес выгрузки по умолчанию '''http://ваш_сайт/yandexrealty/'''<br /> В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к '''http://ваш_сайт/yandexrealty/''' будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне. <br /> Механика выгрузок по стандартному адресу и по переопределенному отличается. В первом случае выгрузка именуется '''Стандартная''', а во втором - '''Расширенная'''. == Отчет о выгрузке == Информация об успешной выгрузке и об ошибках возникающих при выгрузке записывается в этот файл<br /> http://адрес_вашего_сайта/cache/yandexrealty.last.log.xml <br/> '''Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://compartner.realty.yandex.ru/feeds '''<br /> <br/> == Как создать дополнительную точку выгрузки == Что бы добавить дополнительные фиды выгрузки в дополнение к основному воспользуйтесь [https://www.sitebill.ru/s/topic/3480-%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0%D1%8F-%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-xml-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C/?tab=comments#comment-37621 описанием на форуме] == Принимающие участие в выгрузке поля == === Общие поля === '''id''' - идентификатор объявления внутри системы<br /> '''optype''' - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".<br /> '''property_type''' - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.<br /> '''country''' - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"<br /> === Агент === Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств) === Валюта. === Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления: * при нахождении "белорусский" установится 'BYR' * при нахождении "рубль" установится 'RUR' * при нахождении "руб." установится 'RUR' * при нахождении "доллар" установится 'USD' * при нахождении "США" установится 'USD' * при нахождении "евро" установится 'EUR' * при нахождении "гривна" установится 'UAH' * при нахождении "грн" установится 'UAH' * при нахождении "теньге" установится 'KZT' Во всех остальных случаях валюта не будет определена '''UPD. C версии 1.8.2 для определения валюты используется ID валюты''' и список валют из приложения "Менеджер валют". Текстовое написание названия валюты более не учитывается. Если идентификатор валюты указан у объекта, то будет произведен поиск соотв. валюты в списке валют, получен ее код и именно он будет использован для вывода в фид. Для моновалютных сайтов у которых не используется поле выбора валюты добавлена настройка Все цены указаны в валюте (apps.yandexrealty.global_currency_code) в котором можно указать один из допустимых кодов валюты в которой хранятся цены без необходимости добавления поля выбора валюты в данные объекта. '''Эта настройка имеет приоритетное значение - задав ее для мультивалютного сайта Вы перекроете все значения валют и цены будут выгружаться в фид с указанием валюты именно из этого поля.''' == Настройки == === Контракт=== '''Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent)''' - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.<br /> Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций. <br /> === Технические=== '''Выгружать в файл (apps.yandexrealty.tofile)''' - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.<br /> При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную. <br /> '''Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime)''' - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем. <br /> '''Системное имя поля, содержащего изображения (apps.yandexrealty.images_field)''' - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы. <br /> '''Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval)''' - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания. <br /> '''Алиас приложения (apps.yandexrealty.alias)''' - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty. Установка любого значения в это поле переводит выгрузку на алгоритм '''Расширенная''' <br/> === Локация === '''Единое название страны (apps.yandexrealty.country_global)''' - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны <br/> '''Системное имя поля с именем страны (apps.yandexrealty.country_from)''' - указывает поле хранящее текстовое имя страны для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название региона (apps.yandexrealty.region_global)''' - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона <br/> '''Системное имя поля с именем региона (apps.yandexrealty.region_from)''' - указывает поле хранящее текстовое имя региона для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Единое название города (apps.yandexrealty.city_global)''' - позволяет указать единое для всех выгружаемых объявлений название города. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Саратов", в фиде выгрузки все теги locality-name будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем города и указано ли оно. Настройка подходит сайтам у которых выбор города не вынесен в обязательные данные, но все объявления расположены в рамках одного города <br/> '''Системное имя поля с именем города (apps.yandexrealty.city_from)''' - указывает поле хранящее текстовое имя города для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> '''Системное имя поля с именем улицы (apps.yandexrealty.street_from)''' - указывает поле хранящее текстовое имя улицы для данного объявления. Не имеет смысла указывать в этом поле системные имена полей типов отличных от safe_string, если вы предварительно не модифицировали алгоритм сборки данных так, что в этом поле будет текстовое имя страны. <br/> === Данные владельца === '''Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode)''' - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки<br/> '''Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str)''' - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте<br/> может иметь вид<br/> Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта.<br /> Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Существует 4 типа источников:<br /> 1 - все из данных объявления. фактически это data.fio, data.phone, data.email<br/> 2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email<br/> 3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)<br/> 4 - обратное к 3<br/> Например:<br /> <pre>1:1;3:2</pre> для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа<br/> <pre>*:3</pre> для всех групп источник 3-го типа<br/> <pre>*:2;2:1</pre> для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа<br/> Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)<br/> '''Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str)''' - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.<br/> Например <br/> Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять.<br /> Например:<br /> <pre>1:o;3:a;2:d</pre> обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category><br/> <pre>*:a;1:o</pre> все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.<br/> Дефолтным значением в случае не указания будет owner (o)<br/> '''apps.yandexrealty.organisation_global_name (Общее для всех агентов название организации)'''<br /> Общее значение тега organisation, которое будет установлено для всех агентов в выгрузке. Следует применять, если выгрузка содержит в себе объекты только одного агентства. Тег выгружается только для агентов, которые определены как "агентство" '''apps.yandexrealty.organisation_src (Системное имя поля в модели профиля хранящее название организации)'''<br /> Имя системного поля в модели user, которое содержит текстовое название агенства данного агента. Поле должно быть типа safe_string. Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK<br/> === Площади участков === '''Системное имя поля с площадью участка (apps.yandexrealty.lot_area)''' - системное имя поля строкового типа в котором хранится площадь земельного участка для объектов типа "земельный участок" или "земля". При не указании используется системное имя '''lot_area'''<br/> '''Размерность значения системного поля с площадью участка (sqm|ha|acr) (apps.yandexrealty.lot_area_dim)''' - Размерность значения площади участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> '''Системное имя поля с площадью дополнительного участка (apps.yandexrealty.add_lot_area)''' - системное имя поля строкового типа в котором хранится площадь дополнительного земельного участка для объектов типа "дом с участком". При не указании используется системное имя '''lot_area''' <br/> '''Размерность значения системного поля с площадью дополнительного участка (sqm|ha|acr) (apps.yandexrealty.add_lot_area_dim)''' - Размерность значения площади дополнительного участка. Варианты значений: sqm - кв.м., ha - га, acr - сотки. По-умолчанию сотки<br/> === Жилые комплексы === apps.yandexrealty.complex_enable (Выгружать информацию о ЖК из приложения Жилые комплексы) === Сопоставления типов для коммерческой === Условия соотвествия коммерческому типу "офисные помещения" (apps.yandexrealty.comm_office_cond) Условия соотвествия коммерческому типу "торговые помещения" (apps.yandexrealty.comm_retail_cond) Условия соотвествия коммерческому типу "склад" (apps.yandexrealty.comm_warehouse_cond) Условия соотвествия коммерческому типу "помещения свободного назначения" (apps.yandexrealty.comm_freepurpose_cond) Условия соотвествия коммерческому типу "земли коммерческого назначения" (apps.yandexrealty.comm_land_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_manufacturing_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_autorepair_cond) Условия соотвествия коммерческому типу "производственное помещение" (apps.yandexrealty.comm_business_cond) Условия соотвествия коммерческому типу "юридический адрес" (apps.yandexrealty.comm_legaladdress_cond) Условия соотвествия коммерческому типу "общепит" (apps.yandexrealty.comm_publiccatering_cond) Условия соотвествия коммерческому типу "гостиница" (apps.yandexrealty.comm_hotel_cond) Набор настроек, которые помогают указать конкретный тип коммерческой недвижимости, если это не возможно сделать с помощью таблицы ассоциаций по разделам сайта. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Коммерческая (ID=4) без дальнейшей детализации подразделов. Но, вместе с этим, существует отдельное поле Тип коммерческой недвижимости вида select_box с вариантами {1~~Торговля}{2~~Склад}{3~~Офисное} и системным именем commercial_subtype. Тогда для обозначения типа "офисные помещения" нам необходимо задать в настройку apps.yandexrealty.comm_office_cond значение <pre>topic_id=4|commercial_subtype=3</pre> Для "торговые помещения" <pre>topic_id=4|commercial_subtype=1</pre> Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов для гаражей === Сопоставление типа гаража (гараж) (apps.yandexrealty.garage_ga) Сопоставление типа гаража (машиноместо) (apps.yandexrealty.garage_pp) Сопоставление типа гаража (бокс) (apps.yandexrealty.garage_bx) Набор настроек, которые помогают указать конкретный тип гаража. '''Мы указываем как вывести конкретный тип гаража по версии ЯН из данных наших объектов.''' Глобальный тип "Гаражи" должен быть установлен для объектов через таблицу ассоциаций. Например все гаражи расположены в ветке разделов Гаражи. Тогда для этой ветки в таблице ассоциаций Вы указываете тип "Гараж", включая вложенные ветки. А уже конкретные типы гаражей (гараж, машиноместо, бокс) присваиваете через упомянутые выше настройки. Для каждой настройки можно прописать набор условий, при выполнении которых объекту будет сопоставлен данный тип. Например на сайте присутствует раздел Гаражи (ID=12) с вложенными подразделами Парковка (ID=121), Гараж (ID=215), Бокс (ID=598). Так как для веток Гаражи, Гаражи\Парковка, Гаражи\Гараж, Гаражи\Бокс Вы ужеуказали глобальный тип гараж в таблице ассоциаций, то можете указать теперь и конкретные правила для определения детальных типов гаража. Тогда для обозначения типа "гараж" нам необходимо задать в настройку apps.yandexrealty.garage_pp значение <pre>topic_id=215</pre> Для "машиноместо" нам необходимо задать в настройку apps.yandexrealty.garage_ga значение <pre>topic_id=121</pre> Для "бокс" нам необходимо задать в настройку apps.yandexrealty.garage_bx значение <pre>topic_id=598</pre> Если возможности указать какой-то конкретный тип гаража нет - не указывайте его. Оставьте поле настройки пустым. Условия указываются в виде равенств и разделяются знаком | который обозначает И Условия можно указать в несколько строк. В таком случае каждая строка будет означать отдельное условие и выполнение одного из них будет означать совпадение. Запись вида <pre> условие1|условие2 условие3|условие4 </pre> будет трактоваться как (условие1 И условие2) ИЛИ (условие3 И условие4) === Сопоставления типов здания === Сопоставление типа здания (бизнес-центр) (apps.yandexrealty.cbt_bc) Сопоставление типа здания (отдельно стоящее здание) (apps.yandexrealty.cbt_db) Сопоставление типа здания (встроенное помещение) (apps.yandexrealty.cbt_rb) Сопоставление типа здания (торговый центр) (apps.yandexrealty.cbt_sc) Сопоставление типа здания (складской комплекс) (apps.yandexrealty.cbt_wh) Набор настроек, которые помогают указать тип здания для коммерческой недвижимости. Настройки задаются в виде строк сопоставления в формате <pre> системное_имя_поля_сравнения|значения_соответствия </pre> где системное_имя_поля_сравнения содержит системное имя поля в модели объекта по которому проводится сравнение, а значения_соответствия содержат перечень значений разделенных запятой. Например на сайте присутствует свойство объекта Тип здания с системным именем building_type типа seect_box и значениями {1~~склад}{2~~ТЦ}{3~бизнес центр}{4~большой бизнес центр}. Тогда для обозначения типа здания "торговый центр" нам необходимо задать в настройку apps.yandexrealty.cbt_sc значение <pre>building_type:3,4</pre> Для "складской комплекс" в настройку apps.yandexrealty.cbt_wh <pre>building_type:1</pre> Можно указать условие только по одному свойству. === Сопоставления типов ремонта === Условия соответствия ремонту "дизайнерский" (apps.yandexrealty.renovation_design_cond) Условия соответствия ремонту "евро" (apps.yandexrealty.renovation_euro_cond) Условия соответствия ремонту "с отделкой" (apps.yandexrealty.renovation_withdecor_cond) Условия соответствия ремонту "требует ремонта" (apps.yandexrealty.renovation_reqrepair_cond) Условия соответствия ремонту "хороший" (apps.yandexrealty.renovation_good_cond) Условия соответствия ремонту "частичный ремонт" (apps.yandexrealty.renovation_patialrep_cond) Условия соответствия ремонту "черновая отделка" (apps.yandexrealty.renovation_roughing_cond) Набор настроек, которые помогают указать конкретный тип ремонта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Сопоставления типов состояния === Условия соответствия состоянию "отличное" (apps.yandexrealty.quality_best_cond) Условия соответствия состоянию "хорошее" (apps.yandexrealty.quality_good_cond) Условия соответствия состоянию "нормальное" (apps.yandexrealty.quality_norm_cond) Условия соответствия состоянию "плохое" (apps.yandexrealty.quality_bad_cond) Набор настроек, которые помогают указать конкретный тип состояния объекта недвижимости. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Студия" === Условия соответствия "студия" (apps.yandexrealty.studio_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Студия". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Определение типа "Апартаменты" === Условия соответствия "апартаменты" (apps.yandexrealty.apartment_cond) Набор настроек, которые помогают указать принадлежит ли объект недвижимости к виду "Апартаменты". Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Название организации === Общее для всех агентов название организации (apps.yandexrealty.organisation_global_name) - настройка позволяющая указать глобальное (общее для всех) название организации. Если в этом поле указано любое значение, то оно будет выведено в тег organisation у всех выгружаемых объектов. Ни одна другая настройка связанная с этой информацией не будет использована. Системное имя поля в модели профиля хранящее название организации (apps.yandexrealty.organisation_src) - системное имя поля в модели Пользователя, содержащее название организации. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое имя организации. === Номер квартиры === Системное имя поля в модели объекта хранящее номер квартиры (apps.yandexrealty.aptnr_from) - системное имя поля в модели Объекта, содержащее номер квартиры. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. Данное значение используется только для типов "жилая". === Кадастровый номер === Системное имя поля в модели объекта хранящее кадастровый номер (apps.yandexrealty.cadastralnr_from) - системное имя поля в модели Объекта, содержащее кадастровый номер объекта. Поле должно быть текстового типа (safe_string или textarea) и содержать текстовое значение. === Форма налогообложения арендодателя для аренды === Условия форме налогообложения арендодателя "НДС" (apps.yandexrealty.taxation_nds) Условия форме налогообложения арендодателя "УСН" (apps.yandexrealty.taxation_usn) Набор настроек, которые помогают указать правила для определения формы налогообложения арендодателя. Применяется только к коммерческим типам недвижимости сдаваемым в аренду. Если таковые отсутствуют на сайте, эти настройки можно проигнорировать. Указание настроек производится аналогично описанному в разделе "Сопоставление типов для коммерческой" === Дополнительная информация об аренде коммерческой недвижимости === Условия "Клининг входит в договор аренды" (apps.yandexrealty.rent_cleaning_yes) Условия "Коммунальные услуги включены в стоимость в договоре" (apps.yandexrealty.rent_utilities_yes) Условия "Электроэнергия включена в стоимость в договоре" (apps.yandexrealty.rent_electricity_yes) Эти настройки позволяют указать наличие соответствующих опций. Указание условий наличия производится аналогично описанному в разделе "Сопоставление типов для коммерческой" == Персональные фиды == Позволяют дать доступ к фидам пользователей - усеченный обычный фид по параметру принадлежности к конкретному владельцу. Для разрешения такого доступа необходимо в настройках приложения отметить чекбокс '''"Разрешить персональные фиды пользователей"''' и указать значение токена доступа '''"Токен доступа к персональным фидам пользователей"''' в виде произвольной строки. Режим активируется когда одновременно включена галочка разрешения и указана непустая строка в виде токена. Доступ к фидам выполняется посредством запроса на стандартный адрес фида выгрузки с передачей дополнительных параметров в запросе user_id и token. Например Ваш стандартный фид доступен по адресу <pre>/my_yandexfeed</pre> Тогда для получения выгрузки для пользователя с ID равным 1154 необходимо отправить запрос по адресу <pre>/my_yandexfeed?user_id=1151&token=ACCESS_TOKEN</pre> где вместо '''ACCESS_TOKEN''' указать значение токена из параметра настройки '''"Токен доступа к персональным фидам пользователей"'''. == Hooks для замены контактов == Для замены номеров телефонов пользователей можно разметстить файл<br> /template/frontend/ваш_шаблон/hooks/hooks.php с таким содержанием<br> <pre> <nowiki> <?php function yandex_data_hook ($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/exportyandex/234123123': $data_item['phone'] = 'test replace 1'; break; case '/exportyandex/908a0sd9809823': $data_item['phone'] = 'test replace 2'; break; default: } return $data_item; } </nowiki> </pre> == Фиды == Для создания собственных фидов по произвольным условиям используйте подмодуль Выгрузка. Вы можете создать любое число своих фидов на отдельные адреса и управлять их параметрами. Параметры фида:<br /> '''Активен''' - устанавливает активность фида - его доступность по указанному адресу.<br /> '''Игнорировать активность при выгрузке''' - по-умолчанию в фид идут объекты только в активном состоянии (неархивные). Включив этот чекбокс, Вы можете изменить это поведение на такое, что в фид будут идти объекты без учета их активности.<br /> '''Длина фида''' - максимальное число выгружаемых объектов. При не указании фид не ограничивается. При его указании возможно будет иметь смысл указать сортировочные параметры.<br /> '''Алиас''' - адрес фида. Указывайте только алиас, без домена сайта и языкового префикса. Не допускается указание GET-переменных. '''Сортировка''' - системное имя своства в модели data для сортировки фида. При не указании сортировка отсутствует.<br /> '''Направление сортировки''' - устанавливает направление сортировки<br /> '''Примечание или описание''' - произвольное описание фида<br /> '''Параметры''' - набор фильтрующих параметров. Если ни один параметр не указан, то фид будет содержать все активные объекты без любой сортировки.<br /> Количество значений: '''S''' - одно '''M''' - несколько '''E''' - ни одного '''X''' - недопустимо {| class="wikitable" |- ! NNN !! равно\не равно !! больше\меньше !! больше\меньше или равно !! свойство установлено\не установлено |- | safe_string || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | primary_key || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | price || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | mobilephone || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | date || '''X''' || выражение даты ** || выражение даты ** || '''X''' |- | dtdate || '''X''' || выражение даты ** || выражение даты ** || '''X''' |- | dtdatetime || '''X''' || выражение даты ** || выражение даты ** || '''X''' |- | geodata || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | checkbox || одно или несколько значений || '''X''' || '''X''' || пустое выражение *** |- | select_box_structure || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | select_by_query || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | select_by_query_multi || - || - || - || - || - || - || - || - |- | select_box || одно или несколько значений || одно значение * || одно значение * || '''X''' |- | textarea || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | texarea_editor || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | uploads || '''X''' || '''X''' || '''X''' || пустое выражение *** |- | docuploads || '''X''' || '''X''' || '''X''' || пустое выражение *** |} '''одно значение''' означает, что строка значений не содержит запятую. Если в таком поле будет передано несколько значений, то для расчета условия будет применено только первое из них, а остальные проигнорированы. Например вы указали <pre> city_id | больше | 6,4,7 </pre> такая запись будет расценена как <pre> city_id | больше | 6 </pre> '''выражение даты''' - специальное выражение содержащее указание на точку отсчета и, при необходимости, размер и направление оффсета. Например <pre> /*добавленные не позже чем 30 дней назад*/ date_added | больше | NOW-30 </pre> <pre> /*те, у которых дата в поле export_to_yandex_end_date не больше чем сегодняшняя*/ export_to_yandex_end_date | больше | NOW </pre> '''пустое выражение''' - означает, что значение не указывается. Ни пустая строка, ни ноль. Не указывается вообще. Даже если оно будет указано, то не будет обработано. Для данного типа условия необходимо только его наличие, а реальное условие проверки будет создано исходя из типа поля. Для safe_string или textarea - это будет проверка на непустое значение. 73ae9f7cb3a6f86bb0018ee5aae6033a0d30bb09 Hooks 0 73 893 833 2020-06-10T05:30:28Z Kondin 1 /* BeforePrintGridItem */ wikitext text/x-wiki Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php<br /> /template/frontend/ваш_шаблон/hooks/hooks.php<br /> <br /> Внутри файла должно быть такое содержание:<br /> <pre> <nowiki> <?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; } </nowiki> </pre> <br /> ===BeforPrintOptionName_getCategorySelectBoxWithName=== Функция '''BeforPrintOptionName_getCategorySelectBoxWithName''' будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> Эти функции из файла hooks загружаются в процессе обработки модулем<br /> /apps/system/lib/system/apps/apps_processor.php<br /> Этой функцией:<br /> <pre> <nowiki> function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } } </nowiki> </pre> <br /> В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.<br> Пример выполнения:<br> <pre> <nowiki> if (function_exists('BeforPrintOptionName_getCategorySelectBoxWithName') ) { $option_title = BeforPrintOptionName_getCategorySelectBoxWithName($category_structure['catalog'][$categoryID]['name']); } else { $option_title = $category_structure['catalog'][$categoryID]['name']; } </nowiki> </pre> ===onGridConditionsPrepare_hook=== '''onGridConditionsPrepare_hook''' - вызывается во время формирования условий для выборки данных.<br> Пример использования: исключаем из вывода в личном кабинете apps.data объявления принадлежащие пользователю с user_id=888 <pre> <nowiki> function onGridConditionsPrepare_hook($context, $params) { if ( $context->table_name == 'data' ) { $params['grid_conditions_sql'][] = "user_id <> 888"; } return $params; } </nowiki> </pre> ===BeforeDuplicate=== '''BeforeDuplicate''' - вызывается перед созданием дубля объявления.<br> Пример использования: если lot_number является уникальным ключом, то при дублировании мы добавляем к нему числовой идентификатор, чтобы сохранить уникальность ключа для новой записи.<br> <pre> <nowiki> /** * Функция может менять значения в массиве перед созданием нового дубля */ function BeforeDuplicate( $form_data ) { foreach ($form_data as $k => $item) { if ($item['name'] == 'lot_number') { $form_data[$k]['value'] .= '-' . time(); } } return $form_data; } </nowiki> </pre> ===custom_admin_search_fields=== '''custom_admin_search_fields''' - Добавляем новый параметр поиска в форму расширенного поиска в админке в объявлениях.<br> <pre> <nowiki> function custom_admin_search_fields ( $smarty ) { return '<tr><td>Мое поле</td><td> <input type="text" name="moe_pole" id="moe_pole" value="'.$_REQUEST['moe_pole'].'" /></td></tr>'; } </nowiki> </pre> Этот параметр затем можно добавлять в поиск с помощью template_search.php https://www.sitebill.ru/s/topic/241-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8F-%D0%B2-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA-template_search-%D0%B8-%D0%B4%D1%80/ <br> ===BeforePrintGridItem=== '''BeforePrintGridItem''' - выполняет обработку массива данных строки записи перед выводом в таблицу<br> В данном примере функция принимает массив текущей строки данных $row_data и выполняет проверку идентификатора владельца этого объявления с идентификатором пользователя из сессии, если они различаются, тогда заменяется значение поля телефон (phone) на "скрыт". Т.е. реализуется логика скрытия контактов собственников от всех кроме владельца объявления. <pre> <nowiki> function BeforePrintGridItem ( $row_data, $control_params ) { if ( $row_data['user_id']['value'] != $_SESSION['user_id_value'] ) { $row_data['phone']['value'] = 'скрыт'; } return $row_data; } </nowiki> </pre> ===api_model_get_data_grid_conditions_sql($model_name)=== '''api_model_get_data_grid_conditions_sql($model_name)''' - генерирует дополнительные sql-параметры для выборки данных при обращении к методу api::model::get_data<br> Пример реализации: <pre> <nowiki> function api_model_get_data_grid_conditions_sql ($model_name) { if ( $model_name == 'client' ) { $ra = array( 'type_id' => "re_client.type_id in ('ipoteka', 'sellа', 'zayavka', 'podbor', 'soprovozhdenie')" ); return $ra; } return false; } </nowiki> </pre> ===yandex_data_hook=== '''yandex_data_hook''' - преобразование массива пользовательской информации. Перехват идет в функции exSalesAgent($data_item)<br> \apps\yandexrealty\site\site.php <pre> <nowiki> function yandex_data_hook ($data_item) { return $data_item; } </nowiki> </pre> ===square_composed=== square_composed - пример функции для формирования [[Типы_элементов_форм#compose|вычисляемой колонки]] (выводим площадь в формате /X/Y/Z/ <pre> <nowiki> function square_composed ($model, $key) { $columns = explode(',', $model[$key]['parameters']['columns']); $separator = $model[$key]['parameters']['separator']; if ( $separator == '' ) { $separator = ', '; } foreach ( $columns as $idx => $column_item ) { if ( $model[$column_item]['value_string'] != '' ) { $composed_items[$column_item] = $model[$column_item]['value_string']; } elseif ( $model[$column_item]['value'] != '' and $model[$column_item]['value'] != 0) { $composed_items[$column_item] = $model[$column_item]['value']; } else { $composed_items[$column_item] = '-'; } } $value = implode($separator, $composed_items); return $value; } </nowiki> </pre> 04cac2921d1b4aad3efb8dea47b6e76ed0b7a177 Типы элементов форм 0 44 894 832 2020-07-21T11:16:19Z Abushyk 2 /* uploads */ wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ Параметры: disableimagedesc - отключение поля ввода описания фотографии tagged - подключение тега == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == compose == Это составной элемент. Используется только для отображения (нельзя редактировать напрямую значения, так как он состоит из значений других полей). <br> В parameters задается список колонок columns.<br> Пример, колонка '''address_composed''' содержит параметры: <br> '''columns''' = '''city_id,district_id,street_id,number'''<br> '''separator''' = '''/''' // не обязательный параметр<br> '''function''' = '''название функции обработчика''' [[Hooks#square_composed|из hooks]] // не обязательный параметр<br> При выводе этого поля будет составлен набор из значений колонок city_id,district_id,street_id,number<br> separator - будет служить для склейки значений. Например, через символ /. По-умолчанию , == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. ce9c15b030ae08806c56be2882468f9ed5cdfa4e 895 894 2020-07-21T11:17:11Z Abushyk 2 /* uploads */ wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ Параметры: {| class="wikitable" |- ! Параметр !! Примечание |- | disableimagedesc || отключение поля ввода описания фотографии |- | tagged || подключение тега |- | Текст ячейки || Текст ячейки |} == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == compose == Это составной элемент. Используется только для отображения (нельзя редактировать напрямую значения, так как он состоит из значений других полей). <br> В parameters задается список колонок columns.<br> Пример, колонка '''address_composed''' содержит параметры: <br> '''columns''' = '''city_id,district_id,street_id,number'''<br> '''separator''' = '''/''' // не обязательный параметр<br> '''function''' = '''название функции обработчика''' [[Hooks#square_composed|из hooks]] // не обязательный параметр<br> При выводе этого поля будет составлен набор из значений колонок city_id,district_id,street_id,number<br> separator - будет служить для склейки значений. Например, через символ /. По-умолчанию , == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. 3263e42784acfde6c2437f5909d9d7b5646ee44d 900 895 2021-03-08T09:53:41Z Abushyk 2 /* uploads */ wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ Параметры: {| class="wikitable" |- ! Параметр !! Примечание |- | disableimagedesc || отключение поля ввода описания фотографии |- | tagged || подключение тега |- | max_img_count || Максимальное число разрешенных к загрузке фото (указывается в виде целого числа) |- | max_img_count_ext || Правила расширяющие параметр max_img_count. Указываются в виде строки '''N:rule1:rule2''', где N - числовое значение max_img_count, rule1, rule2 - правила, при которых это значение вступает в действие. Правила указываются в виде '''field,operand,value''', где field - системное имя поля, operand - условие сравнения (eq|neq|gt|lt), value - сравниваемое значение |} == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == compose == Это составной элемент. Используется только для отображения (нельзя редактировать напрямую значения, так как он состоит из значений других полей). <br> В parameters задается список колонок columns.<br> Пример, колонка '''address_composed''' содержит параметры: <br> '''columns''' = '''city_id,district_id,street_id,number'''<br> '''separator''' = '''/''' // не обязательный параметр<br> '''function''' = '''название функции обработчика''' [[Hooks#square_composed|из hooks]] // не обязательный параметр<br> При выводе этого поля будет составлен набор из значений колонок city_id,district_id,street_id,number<br> separator - будет служить для склейки значений. Например, через символ /. По-умолчанию , == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. fac9076bff640c07f14fb9aee995f99e30187635 901 900 2021-03-08T09:57:24Z Abushyk 2 /* uploads */ wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ Параметры: {| class="wikitable" |- ! Параметр !! Примечание |- | disableimagedesc || отключение поля ввода описания фотографии |- | tagged || подключение тега |- | max_img_count || Максимальное число разрешенных к загрузке фото (указывается в виде целого числа) |- | max_img_count_ext || Правила расширяющие параметр max_img_count. |} max_img_count_ext Указываются в виде строки '''N:rule1:rule2''', где N - числовое значение max_img_count, rule1, rule2 - правила, при которых это значение вступает в действие. Правила указываются в виде '''field,operand,value''', где field - системное имя поля, operand - условие сравнения (eq|neq|gt|lt), value - сравниваемое значение == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == compose == Это составной элемент. Используется только для отображения (нельзя редактировать напрямую значения, так как он состоит из значений других полей). <br> В parameters задается список колонок columns.<br> Пример, колонка '''address_composed''' содержит параметры: <br> '''columns''' = '''city_id,district_id,street_id,number'''<br> '''separator''' = '''/''' // не обязательный параметр<br> '''function''' = '''название функции обработчика''' [[Hooks#square_composed|из hooks]] // не обязательный параметр<br> При выводе этого поля будет составлен набор из значений колонок city_id,district_id,street_id,number<br> separator - будет служить для склейки значений. Например, через символ /. По-умолчанию , == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. f5a55cd3943c22a9c1abf4c634e8e5ac0bde007e 902 901 2021-03-08T15:05:10Z Abushyk 2 /* uploads */ wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ Параметры: {| class="wikitable" |- ! Параметр !! Примечание |- | disableimagedesc || отключение поля ввода описания фотографии |- | tagged || подключение тега |- | max_img_count || Максимальное число разрешенных к загрузке фото (указывается в виде целого числа) |- | max_img_count_ext || Правила расширяющие параметр max_img_count. параметр расширяет действие max_img_count и не работает без него. |} max_img_count_ext Указываются в виде строки '''N:rule1:rule2''', где N - числовое значение max_img_count, rule1, rule2 - правила, при которых это значение вступает в действие. Правила указываются в виде '''field,operand,value''', где field - системное имя поля, operand - условие сравнения (eq|neq|gt|lt), value - сравниваемое значение == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == compose == Это составной элемент. Используется только для отображения (нельзя редактировать напрямую значения, так как он состоит из значений других полей). <br> В parameters задается список колонок columns.<br> Пример, колонка '''address_composed''' содержит параметры: <br> '''columns''' = '''city_id,district_id,street_id,number'''<br> '''separator''' = '''/''' // не обязательный параметр<br> '''function''' = '''название функции обработчика''' [[Hooks#square_composed|из hooks]] // не обязательный параметр<br> При выводе этого поля будет составлен набор из значений колонок city_id,district_id,street_id,number<br> separator - будет служить для склейки значений. Например, через символ /. По-умолчанию , == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. ba7df762eef0417c7ae59d649e6f9ab7f3efca35 Заглавная страница 0 1 896 849 2020-11-23T10:06:30Z Kondin 1 /* Руководство программиста CMS Sitebill */ wikitext text/x-wiki <br /> [[FAQ]] ==Техническая документация CMS Sitebill== [[Введение]]<br /> {| class="wikitable" |- | [[Приложение "Редактор форм"]] || '''основной инструмент для управления формами''' |- | [[Типы элементов форм]] || '''описание основных типов (кирпичиков) из которых составляются формы''' |- | [[Приложения]] || '''CMS Sitebill состоит из отдельных модулей, каждый модуль выполняет свою определенную функцию''' |- | [[Страницы]] || Описание процесса создания и редактирования текстовых страниц со статичным HTML кодом. |- | [[Меню]] || Для организации удобной навигации можно создавать элементы меню с перечнем пунктов и ссылками на разделы сайта. |- | [[Шаблон]] || Описана типовая структура всех шаблонов |- | [[Общие настройки]] || Перечень всех настроек CMS Sitebill с кратким описанием. |- | [[Связанные элементы]] || Описана техника создания связи выпадающих списков в форме подачи объявления. Например, можно добавить дополнительный справочник микрорайонов и настроить зависимость списка от выбранного города. |- | [[Установка новых шаблонов]] || Процесс установки нового шаблона |- | [[Парсинг_КЛАДР|Парсинг КЛАДР]] || Загрузка готовых справочников городов, районов, улиц из общедоступного источника КЛАДР. |- | [[Настройка_робокассы|Настройка робокассы]] || Платежный шлюз |- | [[Структура_разделов|Структура разделов]] || Определяет типы недвижимости на сайте, также применяется при выводе объявлений по категориям и удобно при построении структуры сайта. |- | [[Редактор_текста_CKEditor|Редактор текста CKEditor]] || Удобный визуальный редактор для форматирования текста, добавления картинок и прочих HTML элементов. |- | [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]] || |- | [[mail|Настройка отправки писем с сайта]] || Решение частых проблем возникающих при работе с почтовым сервером на хостинге. |- | [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]] || |- | [[Распознавание адресов через dadata.ru|Распознавание адресов через dadata.ru]] || |- | [[Пользователи]] || Управление учетными записями пользователей. |- | [[Группы]] || Разделение пользователей на группы. Каждой группе можно назначать определенные права доступа в панели управления и на сайте. |- | [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]] || Позволяет контроллировать ввод правильного номера телефона в соответствии с форматом. |- | [[Как создать пользовательскую форму заявки]] || Например, создать новую форму заявки на ипотеку или заявку на бесплатную консультацию. |- | [[Дополнительные параметры поиска|Дополнительные параметры поиска]] || Формирование своих поисковых запросов. Применяется в случае, если вы через редактор форм добавляли новые элементы и хотите включить их в процесс поиска. |- | [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]] || |- | [[Перевод|Перевод контента на другие языки]] || |- | [[Параметры_приложения_apps.mlsparser]] || |- | [[Db.inc.php]] || |- | [[Центр_обновлений|Центр обновлений]] || |- | [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]] || |} ==Руководство программиста CMS Sitebill== {| class="wikitable" |- | [[RESTAPI ]] || Работа с системой через RESTAPI |- | [[Генератор списков (таблиц) ]] || Описание принципа генерации таблиц и способа кастомизации заголовков, колонок, элементов управления и т.д. |- | [[hooks|Пользовательские обработчики - hooks]] || Способы перехвата системных функций и добавление своего поведения в них на уровне шаблона (не затирается при обновлении) |- | [[HandlerInterface|HandlerInterface]] || Создание обработчиков внутри определенных apps, для того чтобы они могли интегрироваться с событиями в других apps. |- | [[Расширение Smarty]] || Расширение Smarty |} == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. b4c33999e2bb4d15cdad952efe666d9231bcd262 HandlerInterface 0 100 897 2020-11-23T10:08:32Z Kondin 1 Новая страница: «Файл с контроллером handler-а apps/bitrix24/handler/HandlerController.php<br> Метод <br> function data__edit_data ($model, $do, $form_data,...» wikitext text/x-wiki Файл с контроллером handler-а apps/bitrix24/handler/HandlerController.php<br> Метод <br> function data__edit_data ($model, $do, $form_data, $id)<br> [model_name]__[do]<br> 51977d8233b67d4146e32131ed0914516a29c02f Приложения 0 6 898 836 2021-01-27T03:18:41Z Kondin 1 wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Sharder|Приложение "Sharder"]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка ЦИАН 2"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]]<br /> [[Приложение "Выгрузка Realestate.ru"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> [[Приложение "Парсер ADS-API.RU"]]<br /> [[Приложение "Парсер формата Domaza"]]<br /> [[Приложение "Парсер формата Kyero"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> [[Приложение "Facebook-постинг"]]<br /> [[Приложение "Vk-постинг"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> [[Приложение "Новости"]]<br /> [[Mapplic|Приложение "Mapplic" - интерактивные поэтажные планы]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 68785b7c852236c861ddcc5d3ba8a65eb49de1fb Mapplic 0 101 899 2021-01-27T03:19:02Z Kondin 1 Новая страница: «mapplic» wikitext text/x-wiki mapplic 32f1ae19ef92f5623b0735b72a53fafcb8997f5e Приложение "Парсер формата Kyero" 0 92 903 770 2021-08-10T10:10:06Z Abushyk 2 /* Создание задачи */ wikitext text/x-wiki == Создание задачи == '''Метка''' - уникальная метка источника. Это значение не несет никакого смысла, кроме того, что позволяет отличать объекты, загружаемые с разных источников. Метка должна быть уникальна не только в контексте загрузки данного приложения, но и любого другого загрузчика. Значение метки хранится в поле с системным именем uniq_label в модели объекта. '''Источник''' - адрес фида с данными. '''Активно''' - признак активности задачи. '''Загружаемые активны''' - указывает, загружать ли объекты с фида сразу в активном состоянии или нет '''Владелец загружаемых''' - указывает пользователя к которому будут прикрепляться новые загружаемые объекты. Этот параметр важен только при загрузке. Уникализация объекта происходит по паре uniq_label и uniq_id. Поэтому, в последстии, объект может быть передан другому пользователю, но не будет оторван от фида-источника. '''Ограничение на количество добавляемых''' - указывает сколько новых объектов загружать за один проход парсера. Если значение не указано, то будут загружаться все новые объекты. Используйте этот параметр, если хотите избежать массового добавления большого количества новых объектов за один раз. '''Ограничение на количество изображений''' - максимальное число забираемых из фида фототорафий на каждый объект. Если значение не указано - будут загружаться все фотографии '''Последний парсинг''' - поле для хранения даты последнего запуска этой задачи. Заполняется самим парсером по мере парсинга Уникализация. Объекты с фида уникализируются тремя способами а) владелец - только по принадлежности к пользователю на которого грузатся б) метка - только по паре метка (из настроек выше) и ИД объекта в фиде в) метка+владелец - по обеим указанным выше вариантам в вашем случае для болгарии стоит "метка", т.е. объекты привязываются от источника, но вы, после загрузки, можете спокойно сменить им владельца и они не потяряют связи с фидом == Дополнительная обработка данных == При необходимости произведения дополнительной обработки данных необходимо создать обработчик: 1. Создать файл /local/apps/kyeroparser/local_kyeroparser_resolver.php наследующий /apps/kyeroparser/admin/kyeroparser_resolver.php и реализовать обработку в методе resolve 2. Создать файл /template/frontend/ШАБЛОН/apps/kyeroparser/local_kyeroparser_resolver.php наследующий /apps/kyeroparser/admin/kyeroparser_resolver.php и реализовать обработку в методе resolve 3. Устаревший метод! Создать файл /template/frontend/ШАБЛОН/apps/kyeroparser/kyeroparser_resolver.php дублирующий /apps/kyeroparser/admin/kyeroparser_resolver.php и реализовать обработку в методе resolve ff0d9cd445ea9ed5d6cb2824a60cb5e7f2990866 904 903 2021-08-10T10:10:54Z Abushyk 2 /* Дополнительная обработка данных */ wikitext text/x-wiki == Создание задачи == '''Метка''' - уникальная метка источника. Это значение не несет никакого смысла, кроме того, что позволяет отличать объекты, загружаемые с разных источников. Метка должна быть уникальна не только в контексте загрузки данного приложения, но и любого другого загрузчика. Значение метки хранится в поле с системным именем uniq_label в модели объекта. '''Источник''' - адрес фида с данными. '''Активно''' - признак активности задачи. '''Загружаемые активны''' - указывает, загружать ли объекты с фида сразу в активном состоянии или нет '''Владелец загружаемых''' - указывает пользователя к которому будут прикрепляться новые загружаемые объекты. Этот параметр важен только при загрузке. Уникализация объекта происходит по паре uniq_label и uniq_id. Поэтому, в последстии, объект может быть передан другому пользователю, но не будет оторван от фида-источника. '''Ограничение на количество добавляемых''' - указывает сколько новых объектов загружать за один проход парсера. Если значение не указано, то будут загружаться все новые объекты. Используйте этот параметр, если хотите избежать массового добавления большого количества новых объектов за один раз. '''Ограничение на количество изображений''' - максимальное число забираемых из фида фототорафий на каждый объект. Если значение не указано - будут загружаться все фотографии '''Последний парсинг''' - поле для хранения даты последнего запуска этой задачи. Заполняется самим парсером по мере парсинга Уникализация. Объекты с фида уникализируются тремя способами а) владелец - только по принадлежности к пользователю на которого грузатся б) метка - только по паре метка (из настроек выше) и ИД объекта в фиде в) метка+владелец - по обеим указанным выше вариантам в вашем случае для болгарии стоит "метка", т.е. объекты привязываются от источника, но вы, после загрузки, можете спокойно сменить им владельца и они не потяряют связи с фидом == Дополнительная обработка данных == При необходимости произведения дополнительной обработки данных необходимо создать обработчик:<br> 1. Создать файл /local/apps/kyeroparser/local_kyeroparser_resolver.php наследующий /apps/kyeroparser/admin/kyeroparser_resolver.php и реализовать обработку в методе resolve<br> 2. Создать файл ''/template/frontend/ШАБЛОН/apps/kyeroparser/local_kyeroparser_resolver.php'' наследующий /apps/kyeroparser/admin/kyeroparser_resolver.php и реализовать обработку в методе resolve<br> 3. '''Устаревший метод!''' Создать файл ''/template/frontend/ШАБЛОН/apps/kyeroparser/kyeroparser_resolver.php'' дублирующий /apps/kyeroparser/admin/kyeroparser_resolver.php и реализовать обработку в методе resolve a1e2f968113154a23935c3276addde6d8892a081 Приложение "Парсер формата Kyero" 0 92 905 904 2021-08-10T10:12:29Z Abushyk 2 /* Дополнительная обработка данных */ wikitext text/x-wiki == Создание задачи == '''Метка''' - уникальная метка источника. Это значение не несет никакого смысла, кроме того, что позволяет отличать объекты, загружаемые с разных источников. Метка должна быть уникальна не только в контексте загрузки данного приложения, но и любого другого загрузчика. Значение метки хранится в поле с системным именем uniq_label в модели объекта. '''Источник''' - адрес фида с данными. '''Активно''' - признак активности задачи. '''Загружаемые активны''' - указывает, загружать ли объекты с фида сразу в активном состоянии или нет '''Владелец загружаемых''' - указывает пользователя к которому будут прикрепляться новые загружаемые объекты. Этот параметр важен только при загрузке. Уникализация объекта происходит по паре uniq_label и uniq_id. Поэтому, в последстии, объект может быть передан другому пользователю, но не будет оторван от фида-источника. '''Ограничение на количество добавляемых''' - указывает сколько новых объектов загружать за один проход парсера. Если значение не указано, то будут загружаться все новые объекты. Используйте этот параметр, если хотите избежать массового добавления большого количества новых объектов за один раз. '''Ограничение на количество изображений''' - максимальное число забираемых из фида фототорафий на каждый объект. Если значение не указано - будут загружаться все фотографии '''Последний парсинг''' - поле для хранения даты последнего запуска этой задачи. Заполняется самим парсером по мере парсинга Уникализация. Объекты с фида уникализируются тремя способами а) владелец - только по принадлежности к пользователю на которого грузатся б) метка - только по паре метка (из настроек выше) и ИД объекта в фиде в) метка+владелец - по обеим указанным выше вариантам в вашем случае для болгарии стоит "метка", т.е. объекты привязываются от источника, но вы, после загрузки, можете спокойно сменить им владельца и они не потяряют связи с фидом == Дополнительная обработка данных == При необходимости произведения дополнительной обработки данных необходимо создать обработчик:<br> 1. Создать файл /local/apps/kyeroparser/local_kyeroparser_resolver.php наследующий /apps/kyeroparser/admin/kyeroparser_resolver.php и реализовать обработку в методе resolve<br> 2. Создать файл <code>/template/frontend/ШАБЛОН/apps/kyeroparser/local_kyeroparser_resolver.php</code> наследующий /apps/kyeroparser/admin/kyeroparser_resolver.php и реализовать обработку в методе resolve<br> 3. '''Устаревший метод!''' Создать файл ''/template/frontend/ШАБЛОН/apps/kyeroparser/kyeroparser_resolver.php'' дублирующий /apps/kyeroparser/admin/kyeroparser_resolver.php и реализовать обработку в методе resolve 877a3dff28df98a8385c2f009d5833875bc85439 906 905 2021-08-10T10:13:02Z Abushyk 2 /* Дополнительная обработка данных */ wikitext text/x-wiki == Создание задачи == '''Метка''' - уникальная метка источника. Это значение не несет никакого смысла, кроме того, что позволяет отличать объекты, загружаемые с разных источников. Метка должна быть уникальна не только в контексте загрузки данного приложения, но и любого другого загрузчика. Значение метки хранится в поле с системным именем uniq_label в модели объекта. '''Источник''' - адрес фида с данными. '''Активно''' - признак активности задачи. '''Загружаемые активны''' - указывает, загружать ли объекты с фида сразу в активном состоянии или нет '''Владелец загружаемых''' - указывает пользователя к которому будут прикрепляться новые загружаемые объекты. Этот параметр важен только при загрузке. Уникализация объекта происходит по паре uniq_label и uniq_id. Поэтому, в последстии, объект может быть передан другому пользователю, но не будет оторван от фида-источника. '''Ограничение на количество добавляемых''' - указывает сколько новых объектов загружать за один проход парсера. Если значение не указано, то будут загружаться все новые объекты. Используйте этот параметр, если хотите избежать массового добавления большого количества новых объектов за один раз. '''Ограничение на количество изображений''' - максимальное число забираемых из фида фототорафий на каждый объект. Если значение не указано - будут загружаться все фотографии '''Последний парсинг''' - поле для хранения даты последнего запуска этой задачи. Заполняется самим парсером по мере парсинга Уникализация. Объекты с фида уникализируются тремя способами а) владелец - только по принадлежности к пользователю на которого грузатся б) метка - только по паре метка (из настроек выше) и ИД объекта в фиде в) метка+владелец - по обеим указанным выше вариантам в вашем случае для болгарии стоит "метка", т.е. объекты привязываются от источника, но вы, после загрузки, можете спокойно сменить им владельца и они не потяряют связи с фидом == Дополнительная обработка данных == При необходимости произведения дополнительной обработки данных необходимо создать обработчик:<br> 1. Создать файл <code>/local/apps/kyeroparser/local_kyeroparser_resolver.php</code> наследующий <code>/apps/kyeroparser/admin/kyeroparser_resolver.php</code> и реализовать обработку в методе resolve<br> 2. Создать файл <code>/template/frontend/ШАБЛОН/apps/kyeroparser/local_kyeroparser_resolver.php</code> наследующий <code>/apps/kyeroparser/admin/kyeroparser_resolver.php</code> и реализовать обработку в методе resolve<br> 3. '''Устаревший метод!''' Создать файл <code>/template/frontend/ШАБЛОН/apps/kyeroparser/kyeroparser_resolver.php'' дублирующий <code>/apps/kyeroparser/admin/kyeroparser_resolver.php</code> и реализовать обработку в методе resolve 19366dc202c7e11d669cce38cc1b5704dff40292 907 906 2021-08-10T10:13:25Z Abushyk 2 /* Дополнительная обработка данных */ wikitext text/x-wiki == Создание задачи == '''Метка''' - уникальная метка источника. Это значение не несет никакого смысла, кроме того, что позволяет отличать объекты, загружаемые с разных источников. Метка должна быть уникальна не только в контексте загрузки данного приложения, но и любого другого загрузчика. Значение метки хранится в поле с системным именем uniq_label в модели объекта. '''Источник''' - адрес фида с данными. '''Активно''' - признак активности задачи. '''Загружаемые активны''' - указывает, загружать ли объекты с фида сразу в активном состоянии или нет '''Владелец загружаемых''' - указывает пользователя к которому будут прикрепляться новые загружаемые объекты. Этот параметр важен только при загрузке. Уникализация объекта происходит по паре uniq_label и uniq_id. Поэтому, в последстии, объект может быть передан другому пользователю, но не будет оторван от фида-источника. '''Ограничение на количество добавляемых''' - указывает сколько новых объектов загружать за один проход парсера. Если значение не указано, то будут загружаться все новые объекты. Используйте этот параметр, если хотите избежать массового добавления большого количества новых объектов за один раз. '''Ограничение на количество изображений''' - максимальное число забираемых из фида фототорафий на каждый объект. Если значение не указано - будут загружаться все фотографии '''Последний парсинг''' - поле для хранения даты последнего запуска этой задачи. Заполняется самим парсером по мере парсинга Уникализация. Объекты с фида уникализируются тремя способами а) владелец - только по принадлежности к пользователю на которого грузатся б) метка - только по паре метка (из настроек выше) и ИД объекта в фиде в) метка+владелец - по обеим указанным выше вариантам в вашем случае для болгарии стоит "метка", т.е. объекты привязываются от источника, но вы, после загрузки, можете спокойно сменить им владельца и они не потяряют связи с фидом == Дополнительная обработка данных == При необходимости произведения дополнительной обработки данных необходимо создать обработчик:<br> 1. Создать файл <code>/local/apps/kyeroparser/local_kyeroparser_resolver.php</code> наследующий <code>/apps/kyeroparser/admin/kyeroparser_resolver.php</code> и реализовать обработку в методе resolve<br> 2. Создать файл <code>/template/frontend/ШАБЛОН/apps/kyeroparser/local_kyeroparser_resolver.php</code> наследующий <code>/apps/kyeroparser/admin/kyeroparser_resolver.php</code> и реализовать обработку в методе resolve<br> 3. '''Устаревший метод!''' Создать файл <code>/template/frontend/ШАБЛОН/apps/kyeroparser/kyeroparser_resolver.php</code> дублирующий <code>/apps/kyeroparser/admin/kyeroparser_resolver.php</code> и реализовать обработку в методе resolve 5278e18029a98734d4b644bb4c0e8c7827cd82b7 Приложение "Парсер формата Prian" 0 102 908 2021-08-10T10:16:18Z Abushyk 2 Новая страница: «== Дополнительная обработка данных == При необходимости произведения дополнительной обр...» wikitext text/x-wiki == Дополнительная обработка данных == При необходимости произведения дополнительной обработки данных необходимо создать обработчик:<br> 1. Создать файл <code>/local/apps/prianparser/local_prianparser_resolver.php</code> наследующий <code>/apps/prianparser/admin/prianparser_resolver.php</code> и реализовать обработку в методе resolve<br> 2. Создать файл <code>/template/frontend/ШАБЛОН/apps/prianparser/local_prianparser_resolver.php</code> наследующий <code>/apps/prianparser/admin/prianparser_resolver.php</code> и реализовать обработку в методе resolve<br> 3. '''Устаревший метод!''' Создать файл <code>/template/frontend/ШАБЛОН/apps/prianparser/prianparser_resolver.php</code> дублирующий <code>/apps/prianparser/admin/prianparser_resolver.php</code> и реализовать обработку в методе resolve 16692b3941189d57ea733bf2a5a1c42ce42d7a46 Приложения 0 6 909 898 2021-08-10T10:16:50Z Abushyk 2 /* Парсинг */ wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Sharder|Приложение "Sharder"]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка ЦИАН 2"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]]<br /> [[Приложение "Выгрузка Realestate.ru"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> [[Приложение "Парсер ADS-API.RU"]]<br /> [[Приложение "Парсер формата Domaza"]]<br /> [[Приложение "Парсер формата Kyero"]]<br /> [[Приложение "Парсер формата Prian"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> [[Приложение "Facebook-постинг"]]<br /> [[Приложение "Vk-постинг"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> [[Приложение "Новости"]]<br /> [[Mapplic|Приложение "Mapplic" - интерактивные поэтажные планы]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 08370bcc208091c13341b3f61b8eb4a468eed62f 915 909 2022-05-14T06:08:09Z Kondin 1 /* Постинг */ wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Sharder|Приложение "Sharder"]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка ЦИАН 2"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]]<br /> [[Приложение "Выгрузка Realestate.ru"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> [[Приложение "Парсер ADS-API.RU"]]<br /> [[Приложение "Парсер формата Domaza"]]<br /> [[Приложение "Парсер формата Kyero"]]<br /> [[Приложение "Парсер формата Prian"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> [[Приложение "Facebook-постинг"]]<br /> [[Приложение "Vk-постинг"]]<br /> [[Приложение "SMS-рассылка"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> [[Приложение "Новости"]]<br /> [[Mapplic|Приложение "Mapplic" - интерактивные поэтажные планы]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 075c4dd30bf14c1a3e46a90aeb057d06e58f6d53 918 915 2022-12-16T10:25:49Z Kondin 1 /* Обмен данными */ wikitext text/x-wiki == Оплата == [[Приложение "Interkassa"]]<br /> [[Приложение "PayPal"]]<br /> [[Биллинг|Приложение "Биллинг"]]<br /> [[Магазин контактов|Приложение "Магазин контактов"]]<br /> [[Free-kassa.ru (модуль оплаты)|Free-kassa.ru]] == Обмен данными == [[ExcelFree|Приложение "Excel"]]<br /> [[Excel|Приложение "Excel" (платная версия)]]<br /> [[Sharder|Приложение "Sharder" - хранение фото в S3-хранилище]]<br /> == Выгрузка == [[Приложение_"Выгрузка_ЦИАН"|Приложение "Выгрузка ЦИАН"]]<br /> [[Приложение "Выгрузка ЦИАН 2"]]<br /> [[Приложение "Выгрузка Yandex.Realty"|Приложение "Выгрузка Yandex.Realty"]]<br /> [[Приложение "Выгрузка Afy.ru"|Приложение "Выгрузка Afy.ru"]]<br /> [[Приложение "Выгрузка Kvadroom.ru"|Приложение "Выгрузка Kvadroom.ru"]]<br /> [[Приложение "Выгрузка Авито.Недвижимость"|Приложение "Выгрузка Авито.Недвижимость" (для версии 2)]]<br /> [[Приложение "RSS новостей сайта"]]<br /> [[Приложение "Выгрузка AVITO"|Приложение "Выгрузка AVITO" (для версии 3)]]<br /> [[Приложение "Выгрузка Realestate.ru"]] == Парсинг == [[Приложение "Парсер формата MLS"]]<br /> [[Приложение "Yandex.Realty Parser"]]<br /> [[Приложение "Парсер ADS-API.RU"]]<br /> [[Приложение "Парсер формата Domaza"]]<br /> [[Приложение "Парсер формата Kyero"]]<br /> [[Приложение "Парсер формата Prian"]]<br /> == Постинг == [[Приложение "Telegram-постинг"]]<br /> [[Приложение "Facebook-постинг"]]<br /> [[Приложение "Vk-постинг"]]<br /> [[Приложение "SMS-рассылка"]]<br /> == Служебные == [[Приложение_"Управление_кешем"|Приложение "Управление кешем"]]<br /> [[Приложение_"Редактор_форм"|Приложение "Редактор форм"]]<br /> [[System logger|Приложение "System logger"]]<br /> [[Приложение "Toolbox"|Приложение "Toolbox"]]<br /> [[apps.api|Приложение "API"]]<br /> == Другие == [[Приложение "SEO-Оптимизация"]]<br /> [[Приложение_"Mailbox"|Приложение "Mailbox"]]<br /> [[Приложение_"Mysearch"|Приложение "Mysearch" - персональный поиск и рассылка]]<br /> [[Приложение "GeoData"|Приложение "GeoData"]]<br /> [[Приложение "Экспорт в PDF"|Приложение "Экспорт в PDF"]]<br /> [[Приложение "Авторизация через соц.сети"|Приложение "Авторизация через соц.сети"]]<br /> [[apps.complex|Приложение "Жилые комплексы"]]<br /> [[Antiagent|Приложение "Антиагент"]]<br /> [[Приложение "Менеджер валют"|Приложение "Менеджер валют"]]<br /> [[Realtylogv2|Приложение "Realtylogv2"]]<br /> [[Отзывы|Приложение "Отзывы"]]<br /> [[Приложение "Пользовательские сущности"]]<br /> [[Приложение "Новости"]]<br /> [[Mapplic|Приложение "Mapplic" - интерактивные поэтажные планы]]<br /> Excel Free - обмен данными внутрь-наружу сайта из\в формат Excel<br /> GeoData - приложение для работы с картографией - вывод элемента типа geodata в формах, геокодинг принудительный и на лету.<br /> Mailbox - посылка и прием сообщений с карточки на автора-владельца объявления<br /> RSS новостей сайта - выгрузка новостей и объявлений в rss-потоки для рсс-читалок<br /> SEO-Оптимизация - приложение для работы с видами отображений урлов+немного дополнительный автоопраций<br /> SiteMap - карта сайта, ее генератор в xml <br /> TLocation - специфичный элемент для работы с геоданными(страна, город, регион) в виде единого комплекса. Не совместим с некоторыми приложениями. Подлежит эвтаназии.<br /> Авторизация через соц.сети - как следует из названия. Кажется в следующем обновлении будет доступна авторизация по ВК, ОК, ФБ, гугль и твиттер аккаунтам<br /> Баннеры - приложение для создания кусков разметки-баннеров, расставив метки которых в шаблоне, можно получить их отображение. Что-то типо модуля HTML-огрызка из Джумлы.<br /> Выгрузка Яндекс.Недвижимость - приложение для выгрузки объявлений и их параметров в формат Yandex.Недвижимость<br /> Галерея - организация альбомчиков картинок. Адрес на сайте ваш_сайт/gallery/<br /> Заявки на аренду - сборщик зхаявок клиентов связанных с потребностью в аренде. Типа как подача объявления, только вместо объявления заявка.<br /> Клиенты - квазиуниверсальный сборщик самых разнообразных заявок+автоформирователь и обработчик произвольных форм на основе модели из Редактора Форм<br /> Менеджер валют - коллектор настроек связанных с валютой цены<br /> Менеджер настроек - Settings<br /> Новости - управление новостями<br /> Обновления - центр обновлений системы. отображает, что можно обновить и в каком состояниии в данный момент находятся приложения.<br /> Редактор форм - сердце сайтбилля)<br /> Редактор шаблонов - для тех, кто не освоил фтп и человедружественный редактор файлов есть возможность быстро и сердито подправить шаблончик. Очень ограничен в правах доступа к файлам даже в папке шаблона. Не говоря уже о том, что выше ее вообще не пустит.<br /> Статичные страницы - Некие странички, меняющиеся раз в сто лет и которые редко кто читает - типа лицензионного сообщения, хотя могут быть варианты) 88e4dfaa5c62b733a979e5823217fc9afc76d449 Mail 0 37 910 482 2021-08-23T08:56:38Z Kondin 1 wikitext text/x-wiki Для того чтобы с сайта успешно отправлялись почтовые сообщения, они должны удовлетворять требования и не быть похожими на спам. Т.е. необходимо чтобы поле «От кого» содержало реальный адрес и соответствовало адресу сайта. Например, если ваш сайт называется '''arenda-kvartir.ru''', тогда поле «От кого» должно иметь вид '''info@arenda-kvartir.ru'''. Часть info – может быть любой, главное чтобы ваш почтовый сервер отвечал на запрос других почтовых серверов, что этот почтовый ящик существует. Поэтому в панели управления своего хостинга вам нужно создать этот почтовый ящик. Вместо info может быть no-reply, manager, admin, все что будет понятно тем, кому приходят эти письма.<br /> Адрес '''info@arenda-kvartir.ru''' нужно вписать в конфиге в поле '''system_email''' -------------- Не включайте опцию SMTP - она не работает для бесплатных почтовых служб (яндекс, mail.ru и прочих), эта опция подходит только тем, у кого есть свой сервер. <br /> <br /> Если вы уверены, что все настройки прописали правильно, то следующий шаг - нужно проверить отправку почты с хостинга в целом. Для этого мы разработали тестовый скрипт, скачать его тут https://www.sitebill.ru/storage/distr/test-mail.zip <br /> Распакуйте архив и замените вот эти адреса на ваши<br /> $from = 'info@vashsite.ru'; - здесь вписываем вместо vashsite.ru - ваш сайт<br /> $to = 'dkondin@gmail.com'; - здесь вписываем адрес почты, на который будут приходить заявки<br /> Затем загрузите измененный скрипт test-mail.php в корень вашего сайта по FTP<br /> И запустите vahssite.ru/test-mail.php<br /> Если почта с темой "Проверяем почту" - не пришла, значит проблема в хостинге и вам нужно написать в тех.поддержку хостинга, сообщите им что письма не приходят с сервера.<br /> == Настройка отправки писем через яндекс == '''Если вы арендуете CMS Sitebill на сервере sitebill.ru, тогда вам для отправки через яндекс достаточно прописать MX запись в cpanel mx.yandex.net. Включать smtp в этом случае не требуется.'''<br> Вы можете отпрвавлять письма с сайта с помощью яндекс-почты. Для этого вам нужно подключить свой домен к яндекс-почте, тут инструкция https://pdd.yandex.ru/domains_add/<br> Затем создать ящик на яндексе info@ваш_домен.ру<br> Теперь в настройках сайта во вкладке общие укажите следующие параметры:<br> Отправка почты через smtp. (use_smtp) - поставить галочку.<br> SMTP-сервер для отправки заявок (smtp1_server) - smtp.yandex.ru<br> SMTP-login (smtp1_login) - info@ваш_домен.ру<br> SMTP-password (smtp1_password) - пароль от info@ваш_домен.ру на яндексе<br> SMTP-port (smtp1_port) - 465<br> SMTP-from (smtp1_from) - info@ваш_домен.ру<br> Использовать SSL при подключении к SMTP (use_smtp_ssl) - поставить галочку<br> SMTP сервер для mail.ru ssl://smtp.mail.ru 2dac8693aa08df08d8880e9b47c43c6f128e5e0b Типы элементов форм 0 44 911 902 2022-01-12T11:04:03Z Abushyk 2 wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ Параметры: {| class="wikitable" |- ! Параметр !! Примечание |- | disableimagedesc || отключение поля ввода описания фотографии |- | tagged || подключение тега |- | max_img_count || Максимальное число разрешенных к загрузке фото (указывается в виде целого числа) |- | max_img_count_ext || Правила расширяющие параметр max_img_count. параметр расширяет действие max_img_count и не работает без него. |} max_img_count_ext Указываются в виде строки '''N:rule1:rule2''', где N - числовое значение max_img_count, rule1, rule2 - правила, при которых это значение вступает в действие. Правила указываются в виде '''field,operand,value''', где field - системное имя поля, operand - условие сравнения (eq|neq|gt|lt), value - сравниваемое значение == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == parameter == Коллекция данных-параметров. == compose == Это составной элемент. Используется только для отображения (нельзя редактировать напрямую значения, так как он состоит из значений других полей). <br> В parameters задается список колонок columns.<br> Пример, колонка '''address_composed''' содержит параметры: <br> '''columns''' = '''city_id,district_id,street_id,number'''<br> '''separator''' = '''/''' // не обязательный параметр<br> '''function''' = '''название функции обработчика''' [[Hooks#square_composed|из hooks]] // не обязательный параметр<br> При выводе этого поля будет составлен набор из значений колонок city_id,district_id,street_id,number<br> separator - будет служить для склейки значений. Например, через символ /. По-умолчанию , == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. 26afaca050861fa6a4cf12c4e305c12d28e13502 912 911 2022-01-12T11:07:25Z Abushyk 2 /* parameter */ wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ Параметры: {| class="wikitable" |- ! Параметр !! Примечание |- | disableimagedesc || отключение поля ввода описания фотографии |- | tagged || подключение тега |- | max_img_count || Максимальное число разрешенных к загрузке фото (указывается в виде целого числа) |- | max_img_count_ext || Правила расширяющие параметр max_img_count. параметр расширяет действие max_img_count и не работает без него. |} max_img_count_ext Указываются в виде строки '''N:rule1:rule2''', где N - числовое значение max_img_count, rule1, rule2 - правила, при которых это значение вступает в действие. Правила указываются в виде '''field,operand,value''', где field - системное имя поля, operand - условие сравнения (eq|neq|gt|lt), value - сравниваемое значение == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == parameter == Коллекция данных-параметров. Параметры: {| class="wikitable" |- ! Параметр !! Значения !! Примечание |- | type || json || Тип хранимых данных |} == compose == Это составной элемент. Используется только для отображения (нельзя редактировать напрямую значения, так как он состоит из значений других полей). <br> В parameters задается список колонок columns.<br> Пример, колонка '''address_composed''' содержит параметры: <br> '''columns''' = '''city_id,district_id,street_id,number'''<br> '''separator''' = '''/''' // не обязательный параметр<br> '''function''' = '''название функции обработчика''' [[Hooks#square_composed|из hooks]] // не обязательный параметр<br> При выводе этого поля будет составлен набор из значений колонок city_id,district_id,street_id,number<br> separator - будет служить для склейки значений. Например, через символ /. По-умолчанию , == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. 44baa0f2d6a97b0519a39b59983c4ba85c3690f5 913 912 2022-01-12T11:08:11Z Abushyk 2 /* parameter */ wikitext text/x-wiki primary_key == safe_string == Текстовая строка произвольного содержания. == hidden == Тип скрытого поля. Данное поле следует использовать, если содержимое этого поля важно, но вы не хотите чтобы его видели пользователи. Например, с помощью данного поля можно делать метки для формы. Создадим поле utm_capmaing и будем туда передавать данные из переходов от поисковиков или различный рекламных компаний. В строке запроса это поле будет, значит оно автоматом появится в форме. Но при этом do параметр нужно поставить new_done, чтобы элементы инициализировались из запроса. == checkbox == Тип наличия выбора, чекбокс с двумя состояниями "выбрано" и "не выбрано" == select_box_structure == Структурный элемент, иерархический. Применим только к списку разделов\типов == select_by_query == Справочное значение. Поле хранит в себе ключ некоего значения из внешней таблицы.<br> ''Дополнительные параметры:''<br> '''autocomplete''' = 1 // Включение ввода значений с помощью плагина поиска по первым буквам autocomplete<br> '''disable_autocomplete_on_search''' = 1 // Отключаем опцию autocomplete в поисковых формах<br> == select_entity == == select_box == Справочное значение. Хранит в себе ключ соответствующий одному из значений описанных как возможных вариантов этого поля<br> Набор опций выбора в формате пар {key~~value} - тут вам нужно вписать свои значения, которые будет видеть пользователь в форме. Key - будет храниться в базе.<br> Value - будет виден пользователям на сайте.<br> Например, '''{нет~~нет}{газ~~газ}{электро~~электро}''' == auto_add_value == Автодобавляемое значение == price == Поле цены. == textarea == Текстовый блок == uploadify_image == Коллекция медиаобъектов == uploadify_file == Коллекция медиаобъектов == mobilephone == Поле мобильного телефона == password == Поле пароля == photo == Поле хранения единичного изображения. Не используется и не поддерживается моделями, кроме модели user == geodata == Поле выбора географических координат == structure == == textarea_editor == Текстовый блок с возможным html или иным форматированием == date == Поле хранения временных значений в виде TIMESTAMP == attachment == == tlocation == == captcha == == dtdatetime == Поле хранения даты и времени в виде YYYY-MM-DD HH:II:SS == dtdate == Поле хранения даты в виде YYYY-MM-DD 00:00:00 == dttime == Поле хранения времени в виде 0000-00-00 HH:II:SS == uploads == Коллекция медиаобъектов. Данный тип позволяет размещать на форме область для загрузки и прикрепления фотографий. Если вы назовете поле image, тогда в таблице данного объекта будет создано поле image с типом text. Картинки хранятся там в виде названий файлов в сериализованном массиве. Сами файлы картинок хранятся в каталоге /img/data/ Параметры: {| class="wikitable" |- ! Параметр !! Примечание |- | disableimagedesc || отключение поля ввода описания фотографии |- | tagged || подключение тега |- | max_img_count || Максимальное число разрешенных к загрузке фото (указывается в виде целого числа) |- | max_img_count_ext || Правила расширяющие параметр max_img_count. параметр расширяет действие max_img_count и не работает без него. |} max_img_count_ext Указываются в виде строки '''N:rule1:rule2''', где N - числовое значение max_img_count, rule1, rule2 - правила, при которых это значение вступает в действие. Правила указываются в виде '''field,operand,value''', где field - системное имя поля, operand - условие сравнения (eq|neq|gt|lt), value - сравниваемое значение == gadres == == client_id == Данный тип позволяет делать привязку к клиентам. Начальная функция CRM. Например, у вас некий клиент продает квартиру повторно или сдает несколько квартир. И чтобы не дублировать информацию об этом клиенте, мы создаем одну запись в таблице клиентов. И затем через поле client_id делаем привязку. Удобство реализуется через интерфейс поиска клиента по фамилии или по номеру телефона, прямо в форме ввода. Подробный видео-урок по использованию и настройки [https://www.sitebill.ru/s/topic/3148-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-crm-%D1%82%D0%B8%D0%BF-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-client_id/ этой функции на странице форума] == grade == == docuploads == Коллекция медиаобъектов в виде присоединенных файлов == parameter == Коллекция данных-параметров.<br> По-умолчанию данные хранятся в виде сериализованого массива. Для переключения способа хранения на json-строку используется параметр type Параметры: {| class="wikitable" |- ! Параметр !! Значения !! Примечание |- | type || json || Тип хранимых данных |} == compose == Это составной элемент. Используется только для отображения (нельзя редактировать напрямую значения, так как он состоит из значений других полей). <br> В parameters задается список колонок columns.<br> Пример, колонка '''address_composed''' содержит параметры: <br> '''columns''' = '''city_id,district_id,street_id,number'''<br> '''separator''' = '''/''' // не обязательный параметр<br> '''function''' = '''название функции обработчика''' [[Hooks#square_composed|из hooks]] // не обязательный параметр<br> При выводе этого поля будет составлен набор из значений колонок city_id,district_id,street_id,number<br> separator - будет служить для склейки значений. Например, через символ /. По-умолчанию , == Дополнительные параметры элементов == У каждого поля можно создавать дополнительные параметры.<br /> <br /> '''only_owner_access''' - если включить данную опцию для поля, тогда при генерации таблиц или выводе данных при просмотре объекта, данное поле будет иметь значение только, если его просматривает владелец данного объекта. Для всех остальных значение этого поля будет скрыто. d94f99e0a5efe401db714302980dc6f48f86cc51 Расширение Smarty 0 99 914 892 2022-02-03T08:32:18Z Kondin 1 wikitext text/x-wiki Расширение Smarty == _e == Перевод текста. Вызов функции имеет вид <pre>{_e t="Текст"}</pre> == get_access_smarty == Функция проверки прав доступа к компоненту Код тут: https://github.com/rumantic/cms/commit/5e4cde62d00d05aa917bfe43ca32deab8753ab4c == getConfig == Получение конфигурационного параметра по ключу <pre>{getConfig key='phpunit_test'}</pre> Пример определения опции и действия по этой опции <pre> {if {getConfig key='apps.mailbox.use_complaint_mode'} eq 1} тут действия, если условия соблюдаются {/if} </pre> == formaturl == Создает абсолютный или относительный урл в шаблоне. Вызов имеет вид <pre> {formaturl path="appartments/sale" abs="1"} результат: http://domain.com/appartments/sale/ </pre> <pre> {formaturl path="appartments/sale"} результат: /appartments/sale/ </pre> Параметр abs является опциональным. При его наличии урл будет сформирован как абсолютный. Без него как относительный Параметр monolang. Опциональный. Варианты 1 или 0. По-умолчанию 0. Указывает запрет на использование языкового префикса в ссылке (1) - например для ссылок в админку. Параметр locale. Опциональный. Варианты - строка с локалью. По-умолчанию ''. Указывает установить переданную локаль вместо установленной из запроса. Для создания ссылок на другие языковые версии. == absoluteurl == Создает абсолютный урл в шаблоне. Ярлык для вызова функции formaturl с параметром abs. Вызов имеет вид <pre> {absoluteurl path="appartments/sale"} результат: http://domain.com/appartments/sale/ </pre> == relativeurl == Создает относительный урл в шаблоне. Ярлык для вызова функции formaturl без параметра abs. Вызов имеет вид <pre> {relativeurl path="appartments/sale"} результат: /appartments/sale/ </pre> == mediaincpath == Создает путь включения графики <pre> {mediaincpath data=DATA type=TYPE src=SRC} </pre> Параметры:<br /> DATA - элемент коллекции фото<br /> TYPE - типоразмер фото. Возможные значения: preview - мини-фото. По-умолчанию вставляется больший вариант фото.<br /> SRC - адрес фото. Возможные значения: 1 - абсолютная адресация, 2 - адресация от корня сервера. По-умолчанию вставляется с относительной адресацией от корня сайта. Для вставки фото в шаблоне сайта используется <pre> {mediaincpath data=$photo type='preview'} - вставка превью // /img/data/prv762388943534.jpg {mediaincpath data=$photo} - вставка большого изображения // /img/data/img762388943534.jpg </pre> Для PDF-шаблонов <pre> {mediaincpath data=$photo type='preview' src=2} - вставка превью // /home/var/user/www/somesite.ru/img/data/prv762388943534.jpg {mediaincpath data=$photo src=2} - вставка большого изображения // /home/var/user/www/somesite.ru/img/data/img762388943534.jpg </pre> Для почтовых шаблонов и других шаблонов, отображение которых будет производиться вне контекста сайта (рассылки, информеры) <pre> {mediaincpath data=$photo type='preview' src=1} - вставка превью // https://somesite.ru/img/data/prv762388943534.jpg {mediaincpath data=$photo src=1} - вставка большого изображения // https://somesite.ru/img/data/img762388943534.jpg </pre> bfa689f64bce2df29da883ce5a274c2a99b3f2b3 Приложение "SMS-рассылка" 0 103 916 2022-05-14T06:08:32Z Kondin 1 Новая страница: «Приложение для отправки sms-сообщений apps.sms» wikitext text/x-wiki Приложение для отправки sms-сообщений apps.sms 72bdf4ce6fc2ec870112c94a7970effdef9d6d04 Sharder 0 98 917 839 2022-12-16T10:17:52Z Kondin 1 wikitext text/x-wiki Sharder – приложение<br> Для хранения файлов в облаке Яндекс-S3 вам необходимо зарегистрироваться по этой ссылке: [https://console.cloud.yandex.ru?referralCode=dn260nj494roht0mkce4 https://console.cloud.yandex.ru] Приложение призвано сохранять картинки не на локальном диске хостинга внутри папки сайта, а на удаленном сервере.<br> На некоторых сайтах сейчас скопилось до 200 Гб картинок, поэтому назрел вопрос как их разделять по разным хранилищам.<br> В процессе обработки и сохранения поля uploads сначала картинки сохраняются как раньше в папку /img/data/. Это нужно чтобы они правильно ресайзились, переворачивались и накладывались водяные знаки.<br> Но после всех обработок, если включено приложение apps.sharding.enable тогда массив картинок передается на обработку классу<br> <nowiki> $result = $this->sharder->shard($files, $this->getServerFullUrl(true)); </nowiki> <br> <br> Эта процедура загружает файлы на удаленный сервер и в ответ получает URL адреса загруженных файлов.<br> Затем выполняется запаковка uploads поля, но теперь название каждого файла это URL-картинки. Также добавляется признак remote = ‘true’ чтобы в шаблонах и других приложениях было понятно что это не локальные картинки, а URL-адреса картинок.<br> <nowiki> array('preview' => $preview_url, 'normal' => $normal_url, 'type' => 'graphic', 'mime' => $ext, 'remote' => ‘true’); </nowiki> <br> Теперь при выводе в шаблонах нужно выполнять проверку признака remote, чтобы вместо формирования относительного пути, просто выдавать ее в чистом виде. Пример вывода картинок в шаблоне<br> <nowiki> <img src="{if $photoitem.remote}{$photoitem.normal}{else}{$estate_folder}/img/data/{$photoitem.normal}{/if}" /> </nowiki> <br> Для миграции картинок из локального хранилища на шарды есть скрипт<br> '''/apps/sharder/cron.php?cron_key=XXX'''<br> Он загружает по N-записей и отправляет локальные файлы на удаленный сервер, заменяет uploads массив и затем удаляет локальные файлы. После каждого запуска порция записей отмечается как обработанная data.sharded = 1<br> Необходимо переделать способ вывода картинок в приложениях, которые используют картинки – выгрузки, например. Анализировать признак remote=’true’ <br> f0c512d83d1443e749acbd506ae627b9c90e2c20 Редактор текста CKEditor 0 19 919 143 2023-03-22T05:24:21Z Kondin 1 wikitext text/x-wiki В CMS Sitebill предусмотрена возможность установки альтернативных редакторов текста. Здесь мы рассмотрим каким образом установить редактор [http://ckeditor.com/ CKEditor].<br /> Для начала необходимо [https://www.sitebill.ru/storage/editors/ckeditor.zip скачать архив с файлами], распаковать и загрузить по FTP на ваш хостинг в корне каталога установки CMS. В корне теперь должны находиться каталоги ckeditor, ckfinder. <br /> Теперь необходимо зайти в панель управления в настройки. Тут находим поле WYSIWYG-редактор (editor) и в выпадающем списке выбираем ''ckeditor''. Сохраняем настройки.<br /> После этого, если мы зайдем в редактор страниц или новостей то увидим новый редактор текста. С помощью него можно создавать таблицы, делать больше оформлений тегами и самое интересное можно добавлять фотографии и загружать эти фотографии с помощью менеджера картинок.<br /> ''Замечание'': редактор текста появляется только для полей типа '''textarea_editor'''.<br /> 425b1f883358e3ea9f7bf8cfcca36cc5e84acdd1 Дополнительные параметры поиска 0 33 920 369 2023-04-26T03:26:31Z Kondin 1 wikitext text/x-wiki Для добавления дополнительных параметров поиска (кроме тех, что обрабатываются моделью или стандартным модулем поиска) можно использовать файл локального поиска.<br /> Этот файл должен быть расположен в папке '''/template/frontend/имя_шаблона/main/''' и иметь имя '''template_search.php'''.<br /> Основной код состоит из<br /> <pre> <?php class Template_Search extends SiteBill { public function getParams(){ $params=array(); .... return $params; } public function run(){ $where_array=array(); $params=$this->getParams(); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php'); $data_model = new Data_Model(); $data_model_array = $data_model->get_kvartira_model(false); $data_model_array = $data_model_array['data']; .... return array( 'where'=>$where_array, 'params'=>$params ); } } </pre> Файл, при существовании, автоматически подключается модулем поиска и запускается методом run() Метод '''Template_Search::getParams()''' предназначен для сбора переменных запроса, приведения их к необходимому виду и принятия решения о включении параметра в список обрабатываемых. Например: <pre> if(''!==$this->getRequestValue('parking')){ $params['parking'] = (int)$this->getRequestValue('parking'); } </pre> если не пуста переменная parking, она приводится к целочисельному виду и передается в обработку. Метод '''Template_Search::run()''' получает собранные параметры и обрабатывает их явным образом. Иными словами этот метод должен знать, какие параметры ему придется обработать. Например: <pre> if($params['parking'] == 1 && isset($data_model_array['parking'])){ $where_array[]=DB_PREFIX.'_data.parking='.$params['parking']; } </pre> найдя параметр parking метод проверяет присутствует ли в модели такое поле и, если да, формирует часть для раздела WHERE запроса на выборку.<br /> С таким же успехом мы мы могли бы передать из формы значение is_parking, но добавить в запрос выборку именно по полю parking.<br /> Ответ от метода '''Template_Search::run()''' передается в виде массива элементов where - массив частей условий для WHERE запроса и params - массив параметров для формирования пейджера и сортировочных ссылок.<br /> Эти результаты будут добавлены к запросу, формируемому модулем поиска. Добавление параметров поиска в /template/frontend/НАЗВАНИЕ_ШАБЛОНА/hooks/hooks.php<br /> Можно добавлять автоматическое распознвание параметров поиска, если добавить их так:<br /> <pre> SConfig::setConfigValueStatic('searchable_params', ['yandex', 'export_avito', 'export_domclick']); </pre> Тогда при использовании GET-запроса в к списку объектов можно указывать эти параметры и по ним будет выполнена фильтрация<br /> '''?export_avito=1'''<br /> Примечание: параметр export_avito - должен быть checkbox (т.е. значения 1/0)<br /> 0c377ebe6f23711ae50f7a486b1162b503f96143 921 920 2023-04-26T03:27:07Z Kondin 1 wikitext text/x-wiki Для добавления дополнительных параметров поиска (кроме тех, что обрабатываются моделью или стандартным модулем поиска) можно использовать файл локального поиска.<br /> Этот файл должен быть расположен в папке '''/template/frontend/имя_шаблона/main/''' и иметь имя '''template_search.php'''.<br /> Основной код состоит из<br /> <pre> <?php class Template_Search extends SiteBill { public function getParams(){ $params=array(); .... return $params; } public function run(){ $where_array=array(); $params=$this->getParams(); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php'); $data_model = new Data_Model(); $data_model_array = $data_model->get_kvartira_model(false); $data_model_array = $data_model_array['data']; .... return array( 'where'=>$where_array, 'params'=>$params ); } } </pre> Файл, при существовании, автоматически подключается модулем поиска и запускается методом run() Метод '''Template_Search::getParams()''' предназначен для сбора переменных запроса, приведения их к необходимому виду и принятия решения о включении параметра в список обрабатываемых. Например: <pre> if(''!==$this->getRequestValue('parking')){ $params['parking'] = (int)$this->getRequestValue('parking'); } </pre> если не пуста переменная parking, она приводится к целочисельному виду и передается в обработку. Метод '''Template_Search::run()''' получает собранные параметры и обрабатывает их явным образом. Иными словами этот метод должен знать, какие параметры ему придется обработать. Например: <pre> if($params['parking'] == 1 && isset($data_model_array['parking'])){ $where_array[]=DB_PREFIX.'_data.parking='.$params['parking']; } </pre> найдя параметр parking метод проверяет присутствует ли в модели такое поле и, если да, формирует часть для раздела WHERE запроса на выборку.<br /> С таким же успехом мы мы могли бы передать из формы значение is_parking, но добавить в запрос выборку именно по полю parking.<br /> Ответ от метода '''Template_Search::run()''' передается в виде массива элементов where - массив частей условий для WHERE запроса и params - массив параметров для формирования пейджера и сортировочных ссылок.<br /> Эти результаты будут добавлены к запросу, формируемому модулем поиска. == Добавление параметров поиска в /template/frontend/НАЗВАНИЕ_ШАБЛОНА/hooks/hooks.php == <br /> Можно добавлять автоматическое распознвание параметров поиска, если добавить их так:<br /> <pre> SConfig::setConfigValueStatic('searchable_params', ['yandex', 'export_avito', 'export_domclick']); </pre> Тогда при использовании GET-запроса в к списку объектов можно указывать эти параметры и по ним будет выполнена фильтрация<br /> '''?export_avito=1'''<br /> Примечание: параметр export_avito - должен быть checkbox (т.е. значения 1/0)<br /> 8303986179e97019614223f848cd1ee8195a9faf 922 921 2023-05-19T05:28:23Z Kondin 1 wikitext text/x-wiki Для добавления дополнительных параметров поиска (кроме тех, что обрабатываются моделью или стандартным модулем поиска) можно использовать файл локального поиска.<br /> Этот файл должен быть расположен в папке '''/template/frontend/имя_шаблона/main/''' и иметь имя '''template_search.php'''.<br /> Основной код состоит из<br /> <pre> <?php class Template_Search extends SiteBill { public function getParams(){ $params=array(); .... return $params; } public function run(){ $where_array=array(); $params=$this->getParams(); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php'); $data_model = new Data_Model(); $data_model_array = $data_model->get_kvartira_model(false); $data_model_array = $data_model_array['data']; .... return array( 'where'=>$where_array, 'params'=>$params ); } } </pre> Файл, при существовании, автоматически подключается модулем поиска и запускается методом run() Метод '''Template_Search::getParams()''' предназначен для сбора переменных запроса, приведения их к необходимому виду и принятия решения о включении параметра в список обрабатываемых. Например: <pre> if(''!==$this->getRequestValue('parking')){ $params['parking'] = (int)$this->getRequestValue('parking'); } </pre> если не пуста переменная parking, она приводится к целочисельному виду и передается в обработку. Метод '''Template_Search::run()''' получает собранные параметры и обрабатывает их явным образом. Иными словами этот метод должен знать, какие параметры ему придется обработать. Например: <pre> if($params['parking'] == 1 && isset($data_model_array['parking'])){ $where_array[]=DB_PREFIX.'_data.parking='.$params['parking']; } </pre> найдя параметр parking метод проверяет присутствует ли в модели такое поле и, если да, формирует часть для раздела WHERE запроса на выборку.<br /> С таким же успехом мы мы могли бы передать из формы значение is_parking, но добавить в запрос выборку именно по полю parking.<br /> Ответ от метода '''Template_Search::run()''' передается в виде массива элементов where - массив частей условий для WHERE запроса и params - массив параметров для формирования пейджера и сортировочных ссылок.<br /> Эти результаты будут добавлены к запросу, формируемому модулем поиска. == Добавление параметров поиска в /template/frontend/НАЗВАНИЕ_ШАБЛОНА/hooks/hooks.php == <br /> Можно добавлять автоматическое распознвание параметров поиска, если добавить их так:<br /> <pre> SConfig::setConfigValueStatic('searchable_params', ['yandex', 'export_avito', 'export_domclick']); </pre> Тогда при использовании GET-запроса в к списку объектов можно указывать эти параметры и по ним будет выполнена фильтрация<br /> '''?export_avito=1'''<br /> Примечание: параметр export_avito - должен быть checkbox (т.е. значения 1/0)<br /> == Сборщик фильтров в админке для объявлений template/frontend/local/admin/data/GridFilters.php == <br /> Класс позволяет автоматически собирать пункты меню для фильтра в объявлениях. <br /> Необходимо, чтобы в классе был метод включающий ключевое слово '''filter'''<br /> Пример класса <pre> namespace Template\local\admin\data; use system\factories\ClassMethodsResult; class GridFilters extends ClassMethodsResult { function filterNotSpecial () { return [ 'href' => '/admin/?action=data&hot=-1', 'title' => 'Не спец.предложения', 'active' => (\SiteBill::$iRequest->get('hot') == -1 ? 1 : 0), 'count' => \system\lib\model\eloquent\Data::where('hot', 0) ->where('archived', 0) ->get()->count(), ]; } } </pre> 6a6f1e7e4d287639541c1a54bc21d0acb5b6fcd9 Локализация приложений 0 104 923 2023-11-04T15:17:17Z Abushyk 2 Новая страница: «Локализация приложений» wikitext text/x-wiki Локализация приложений 35372eecd1d3bf63a5f3b98ebc5fcc53101c4eaf Use topic linker 0 58 924 409 2024-02-07T04:39:46Z Kondin 1 wikitext text/x-wiki == Включить переадресацию категорий (use_topic_linker) == Опция предназначена для переадресации категорий из одной в другую. Например, у вас на сайте есть слишком большое дерево категорий и вы хотите его упорядочить. Тогда вы можете ненужные категории прилинковать к новым категориями. И скрипт обновить у объявлений категории на эти новые.<br/> Для сохранения линков нужно создать таблицу CREATE TABLE IF NOT EXISTS re_topic_links ( `id` int(11) NOT NULL AUTO_INCREMENT, `topic_id` int(11) NOT NULL, `link_topic_id` int(11) NOT NULL, `params` text, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Разберем на примере как нам сделать переадресацию одной категории в другую:<br/> # Нажмите в админке Структура - Переадресация категорий # В первой колонке выводятся все категории, которые созданы в CMS Sitebill, левее находится выпадающий список в которые мы хотим сделать переадресацию. # Например у нас есть Категория: ''Аренда / Комнаты / Секционки'', если левее мы выберем из выпадающего списка ''Аренда - Комнаты'', тогда скрипт переместит в дальнейшем все объявления из ''Аренда / Комнаты / Секционки'' в ''Аренда / Комнаты'' # Если нам не нужна переадресация для категории, то ничего не меняем, в выпадающем списке пусть так и остается эта же категория. [https://www.sitebill.ru/s/topic/2723-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0-%D0%B4%D0%BB%D1%8F-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8-%D0%BE%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B8%D0%B7-%D0%B0%D0%B2%D0%B8%D1%82%D0%BE/?do=findComment&comment=28530 Дополнительное обсуждение правил линковки на форуме] 30750c33b5e203e2884dbb8982f509b611d80efa Заглавная страница 0 1 925 896 2024-02-27T06:14:03Z Kondin 1 wikitext text/x-wiki <br /> [[FAQ]] ==Техническая документация CMS Sitebill== [[Введение]]<br /> {| class="wikitable" |- | [[Приложение "Редактор форм"]] || '''основной инструмент для управления формами''' |- | [[Типы элементов форм]] || '''описание основных типов (кирпичиков) из которых составляются формы''' |- | [[Приложения]] || '''CMS Sitebill состоит из отдельных модулей, каждый модуль выполняет свою определенную функцию''' |- | [[Страницы]] || Описание процесса создания и редактирования текстовых страниц со статичным HTML кодом. |- | [[Меню]] || Для организации удобной навигации можно создавать элементы меню с перечнем пунктов и ссылками на разделы сайта. |- | [[Шаблон]] || Описана типовая структура всех шаблонов |- | [[Общие настройки]] || Перечень всех настроек CMS Sitebill с кратким описанием. |- | [[Связанные элементы]] || Описана техника создания связи выпадающих списков в форме подачи объявления. Например, можно добавить дополнительный справочник микрорайонов и настроить зависимость списка от выбранного города. |- | [[Установка новых шаблонов]] || Процесс установки нового шаблона |- | [[Парсинг_КЛАДР|Парсинг КЛАДР]] || Загрузка готовых справочников городов, районов, улиц из общедоступного источника КЛАДР. |- | [[Настройка_робокассы|Настройка робокассы]] || Платежный шлюз |- | [[Структура_разделов|Структура разделов]] || Определяет типы недвижимости на сайте, также применяется при выводе объявлений по категориям и удобно при построении структуры сайта. |- | [[Редактор_текста_CKEditor|Редактор текста CKEditor]] || Удобный визуальный редактор для форматирования текста, добавления картинок и прочих HTML элементов. |- | [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]] || |- | [[mail|Настройка отправки писем с сайта]] || Решение частых проблем возникающих при работе с почтовым сервером на хостинге. |- | [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]] || |- | [[Распознавание адресов через dadata.ru|Распознавание адресов через dadata.ru]] || |- | [[Пользователи]] || Управление учетными записями пользователей. |- | [[Группы]] || Разделение пользователей на группы. Каждой группе можно назначать определенные права доступа в панели управления и на сайте. |- | [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]] || Позволяет контроллировать ввод правильного номера телефона в соответствии с форматом. |- | [[Как создать пользовательскую форму заявки]] || Например, создать новую форму заявки на ипотеку или заявку на бесплатную консультацию. |- | [[Дополнительные параметры поиска|Дополнительные параметры поиска]] || Формирование своих поисковых запросов. Применяется в случае, если вы через редактор форм добавляли новые элементы и хотите включить их в процесс поиска. |- | [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]] || |- | [[Перевод|Перевод контента на другие языки]] || |- | [[Параметры_приложения_apps.mlsparser]] || |- | [[Db.inc.php]] || |- | [[Центр_обновлений|Центр обновлений]] || |- | [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]] || |- | [[Cron - примеры задач|Cron - примеры задач]] || |} ==Руководство программиста CMS Sitebill== {| class="wikitable" |- | [[RESTAPI ]] || Работа с системой через RESTAPI |- | [[Генератор списков (таблиц) ]] || Описание принципа генерации таблиц и способа кастомизации заголовков, колонок, элементов управления и т.д. |- | [[hooks|Пользовательские обработчики - hooks]] || Способы перехвата системных функций и добавление своего поведения в них на уровне шаблона (не затирается при обновлении) |- | [[HandlerInterface|HandlerInterface]] || Создание обработчиков внутри определенных apps, для того чтобы они могли интегрироваться с событиями в других apps. |- | [[Расширение Smarty]] || Расширение Smarty |} == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. e1e46c1eeaed7dddeab6e88c8993daca22e12556 927 925 2024-03-23T14:15:28Z Abushyk 2 /* Руководство программиста CMS Sitebill */ wikitext text/x-wiki <br /> [[FAQ]] ==Техническая документация CMS Sitebill== [[Введение]]<br /> {| class="wikitable" |- | [[Приложение "Редактор форм"]] || '''основной инструмент для управления формами''' |- | [[Типы элементов форм]] || '''описание основных типов (кирпичиков) из которых составляются формы''' |- | [[Приложения]] || '''CMS Sitebill состоит из отдельных модулей, каждый модуль выполняет свою определенную функцию''' |- | [[Страницы]] || Описание процесса создания и редактирования текстовых страниц со статичным HTML кодом. |- | [[Меню]] || Для организации удобной навигации можно создавать элементы меню с перечнем пунктов и ссылками на разделы сайта. |- | [[Шаблон]] || Описана типовая структура всех шаблонов |- | [[Общие настройки]] || Перечень всех настроек CMS Sitebill с кратким описанием. |- | [[Связанные элементы]] || Описана техника создания связи выпадающих списков в форме подачи объявления. Например, можно добавить дополнительный справочник микрорайонов и настроить зависимость списка от выбранного города. |- | [[Установка новых шаблонов]] || Процесс установки нового шаблона |- | [[Парсинг_КЛАДР|Парсинг КЛАДР]] || Загрузка готовых справочников городов, районов, улиц из общедоступного источника КЛАДР. |- | [[Настройка_робокассы|Настройка робокассы]] || Платежный шлюз |- | [[Структура_разделов|Структура разделов]] || Определяет типы недвижимости на сайте, также применяется при выводе объявлений по категориям и удобно при построении структуры сайта. |- | [[Редактор_текста_CKEditor|Редактор текста CKEditor]] || Удобный визуальный редактор для форматирования текста, добавления картинок и прочих HTML элементов. |- | [[Настройка_Меню_типов_недвижимости|Настройка меню типов недвижимости]] || |- | [[mail|Настройка отправки писем с сайта]] || Решение частых проблем возникающих при работе с почтовым сервером на хостинге. |- | [[Добавление_улиц_районов_городов_пользователями|Добавление улиц, районов, городов пользователями (combobox)]] || |- | [[Распознавание адресов через dadata.ru|Распознавание адресов через dadata.ru]] || |- | [[Пользователи]] || Управление учетными записями пользователей. |- | [[Группы]] || Разделение пользователей на группы. Каждой группе можно назначать определенные права доступа в панели управления и на сайте. |- | [[Дополнительные параметры элемента модели|Как указать маску для поля ввода мобильного телефона]] || Позволяет контроллировать ввод правильного номера телефона в соответствии с форматом. |- | [[Как создать пользовательскую форму заявки]] || Например, создать новую форму заявки на ипотеку или заявку на бесплатную консультацию. |- | [[Дополнительные параметры поиска|Дополнительные параметры поиска]] || Формирование своих поисковых запросов. Применяется в случае, если вы через редактор форм добавляли новые элементы и хотите включить их в процесс поиска. |- | [[Правила_валидации_для_элементов_модели|Правила валидации для элементов модели]] || |- | [[Перевод|Перевод контента на другие языки]] || |- | [[Параметры_приложения_apps.mlsparser]] || |- | [[Db.inc.php]] || |- | [[Центр_обновлений|Центр обновлений]] || |- | [[Регистрация с SMS подтверждением|Регистрация с SMS подтверждением]] || |- | [[Cron - примеры задач|Cron - примеры задач]] || |} ==Руководство программиста CMS Sitebill== {| class="wikitable" |- | [[RESTAPI ]] || Работа с системой через RESTAPI |- | [[Генератор списков (таблиц) ]] || Описание принципа генерации таблиц и способа кастомизации заголовков, колонок, элементов управления и т.д. |- | [[hooks|Пользовательские обработчики - hooks]] || Способы перехвата системных функций и добавление своего поведения в них на уровне шаблона (не затирается при обновлении) |- | [[HandlerInterface|HandlerInterface]] || Создание обработчиков внутри определенных apps, для того чтобы они могли интегрироваться с событиями в других apps. |- | [[Расширение Smarty]] || Расширение Smarty |- | [[Настройка интерфейса админ-панели]] || Настройка интерфейса админ-панели |} == Некоторые полезные ресурсы == * [//www.sitebill.ru/ CMS Sitebill официальный сайт]; * [//www.etown.ru/s/ Форум технической поддержки]; * [//estate.sitebill.ru/ Демо-версия]. 49ee9ce18fc864f2d24182b36c881d194bfaedbb Cron - примеры задач 0 105 926 2024-02-27T06:17:46Z Kondin 1 Новая страница: «'''/usr/bin/wget -O /dev/null -q https://sitename.sitebill.net/script_name.php?param=1'''» wikitext text/x-wiki '''/usr/bin/wget -O /dev/null -q https://sitename.sitebill.net/script_name.php?param=1''' 34ba9307b63eec970238505636349f09350397e1 Настройка интерфейса админ-панели 0 106 928 2024-03-23T14:17:46Z Abushyk 2 Новая страница: «Админ-панель позволяет настроить набор бокового и верхнего меню. Возможно выключить ста...» wikitext text/x-wiki Админ-панель позволяет настроить набор бокового и верхнего меню. Возможно выключить стандартные элементы этих меню, добавить новые пункты в существующие разделы (Контент, Справочники), создать новые разделы бокового меню и наполнить их ссылками на требуемые приложения или пользовательские сущности. 1eccdaa66d4588b8d01fbcc446947b4b305a9b3a 929 928 2024-03-23T14:20:57Z Abushyk 2 wikitext text/x-wiki Админ-панель позволяет настроить набор бокового и верхнего меню. Возможно выключить стандартные элементы этих меню, добавить новые пункты в существующие разделы (Контент, Справочники), создать новые разделы бокового меню и наполнить их ссылками на требуемые приложения или пользовательские сущности. Настройка производится в файле config.php расположенному по пути /local/apps/admin/. Файл не существует изначально и, для настройки, необходимо его создать самостоятельно. Данный файл должен возвращать массив настроек. <?php return []; c763241b14c250edd6ec5a216d317baee6cffb89 930 929 2024-03-23T14:21:34Z Abushyk 2 wikitext text/x-wiki Админ-панель позволяет настроить набор бокового и верхнего меню. Возможно выключить стандартные элементы этих меню, добавить новые пункты в существующие разделы (Контент, Справочники), создать новые разделы бокового меню и наполнить их ссылками на требуемые приложения или пользовательские сущности. Настройка производится в файле config.php расположенному по пути /local/apps/admin/. Файл не существует изначально и, для настройки, необходимо его создать самостоятельно. Данный файл должен возвращать массив настроек. <pre> <?php return []; </pre> c9dfd0581c507ccc8f146dc2180ebd8bcefdc56d 931 930 2024-03-23T14:35:47Z Abushyk 2 wikitext text/x-wiki Админ-панель позволяет настроить набор бокового и верхнего меню. Возможно выключить стандартные элементы этих меню, добавить новые пункты в существующие разделы (Контент, Справочники), создать новые разделы бокового меню и наполнить их ссылками на требуемые приложения или пользовательские сущности. Настройка производится в файле config.php расположенному по пути /local/apps/admin/. Файл не существует изначально и, для настройки, необходимо его создать самостоятельно. Данный файл должен возвращать массив настроек. <pre> <?php return []; </pre> Для добавления нового пункта в существующий раздел Справочники создайте в массиве настроек вхождения <pre> <?php return [ 'sections' => [ 'references.city' => false, // Выключение справочника городов из секции Справочники 'references.street' => false, // Выключение справочника улиц из секции Справочники 'references.metro' => false, // Выключение справочника метро из секции Справочники 'components' => false, // Выключение секции Компоненты из бокового меню ], // Добавленные пункты в стандартные разделы 'add'=> [ // В меню Контент добавлена ссылка на приложение Видео 'content' => [ 'videogallery' ], // В меню Справочники добавлена ссылка на пользовательскую сущность Субрегионы 'references' => [ 'subregion' ] ], // Создание новых секций в боковом меню 'newsections' => [ // Создание секции exports 'exports' => [ 'title' => 'Выгрузки', // Название секции 'icon' => 'fa-download', // Иконка секции (при наличии) 'childs' => ['prianparser', 'kyeroparser'] // Перечень системных имен приложений или пользовательских сущностей для включения в секцию ], // Создание секции dicts 'dicts' => [ 'title' => 'Дополнительно', // Название секции 'icon' => '', // Иконка секции (при наличии) 'childs' => ['currency', 'videogallery', 'gallery'] // Перечень системных имен приложений или пользовательских сущностей для включения в секцию ] ], 'knowlegebase' => false // Выключение блока Базы знаний из верхнего меню ]; </pre> d2d055db35141bb40b25b65449bb6d7c148fd4c8 932 931 2024-03-23T14:36:19Z Abushyk 2 wikitext text/x-wiki Админ-панель позволяет настроить набор бокового и верхнего меню. Возможно выключить стандартные элементы этих меню, добавить новые пункты в существующие разделы (Контент, Справочники), создать новые разделы бокового меню и наполнить их ссылками на требуемые приложения или пользовательские сущности. Настройка производится в файле config.php расположенному по пути /local/apps/admin/. Файл не существует изначально и, для настройки, необходимо его создать самостоятельно. Данный файл должен возвращать массив настроек. <pre> <?php return []; </pre> Пример конфигурационного файла <pre> <?php return [ 'sections' => [ 'references.city' => false, // Выключение справочника городов из секции Справочники 'references.street' => false, // Выключение справочника улиц из секции Справочники 'references.metro' => false, // Выключение справочника метро из секции Справочники 'components' => false, // Выключение секции Компоненты из бокового меню ], // Добавленные пункты в стандартные разделы 'add'=> [ // В меню Контент добавлена ссылка на приложение Видео 'content' => [ 'videogallery' ], // В меню Справочники добавлена ссылка на пользовательскую сущность Субрегионы 'references' => [ 'subregion' ] ], // Создание новых секций в боковом меню 'newsections' => [ // Создание секции exports 'exports' => [ 'title' => 'Выгрузки', // Название секции 'icon' => 'fa-download', // Иконка секции (при наличии) 'childs' => ['prianparser', 'kyeroparser'] // Перечень системных имен приложений или пользовательских сущностей для включения в секцию ], // Создание секции dicts 'dicts' => [ 'title' => 'Дополнительно', // Название секции 'icon' => '', // Иконка секции (при наличии) 'childs' => ['currency', 'videogallery', 'gallery'] // Перечень системных имен приложений или пользовательских сущностей для включения в секцию ] ], 'knowlegebase' => false // Выключение блока Базы знаний из верхнего меню ]; </pre> fbd9f72a1e94ab65790ea36bbf5f1e2203f052f4 933 932 2024-03-23T14:37:29Z Abushyk 2 wikitext text/x-wiki Админ-панель позволяет настроить набор бокового и верхнего меню. Возможно выключить стандартные элементы этих меню, добавить новые пункты в существующие разделы (Контент, Справочники), создать новые разделы бокового меню и наполнить их ссылками на требуемые приложения или пользовательские сущности. Настройка производится в файле config.php расположенному по пути /local/apps/admin/. Файл не существует изначально и, для настройки, необходимо его создать самостоятельно. Данный файл должен возвращать массив настроек. <pre> <?php return []; </pre> Пример конфигурационного файла <pre> <?php return [ 'sections' => [ 'references.city' => false, // Выключение справочника городов из секции Справочники 'references.street' => false, // Выключение справочника улиц из секции Справочники 'references.metro' => false, // Выключение справочника метро из секции Справочники 'components' => false, // Выключение секции Компоненты из бокового меню ], // Добавленные пункты в стандартные разделы 'add'=> [ // В меню Контент добавлена ссылка на приложение Видео 'content' => [ 'videogallery' ], // В меню Справочники добавлена ссылка на пользовательскую сущность Субрегионы 'references' => [ 'subregion' ] ], // Создание новых секций в боковом меню 'newsections' => [ // Создание секции exports 'exports' => [ 'title' => 'Выгрузки', // Название секции 'icon' => 'fa-download', // Иконка секции (при наличии) 'childs' => ['prianparser', 'kyeroparser'] // Перечень системных имен приложений или пользовательских сущностей для включения в секцию ], // Создание секции dicts 'dicts' => [ 'title' => 'Дополнительно', // Название секции 'icon' => '', // Иконка секции (при наличии) 'childs' => ['currency', 'videogallery', 'gallery'] // Перечень системных имен приложений или пользовательских сущностей для включения в секцию ] ], 'knowlegebase' => false // Выключение блока Базы знаний из верхнего меню ]; </pre> Включение приложений в существующие или новосозданные секции предваряется проверкой прав доступа. 808a0b47bdb6b725c9ea15d4393af2f1c915ab1a 934 933 2024-03-23T14:39:17Z Abushyk 2 wikitext text/x-wiki Админ-панель позволяет настроить набор бокового и верхнего меню. Возможно выключить стандартные элементы этих меню, добавить новые пункты в существующие разделы (Контент, Справочники), создать новые разделы бокового меню и наполнить их ссылками на требуемые приложения или пользовательские сущности. Настройка производится в файле config.php расположенному по пути /local/apps/admin/. Файл не существует изначально и, для настройки, необходимо его создать самостоятельно. Данный файл должен возвращать массив настроек. <pre> <?php return []; </pre> Пример конфигурационного файла <pre> <?php return [ 'sections' => [ 'references.city' => false, // Выключение справочника городов из секции Справочники 'references.street' => false, // Выключение справочника улиц из секции Справочники 'references.metro' => false, // Выключение справочника метро из секции Справочники 'components' => false, // Выключение секции Компоненты из бокового меню ], // Добавленные пункты в стандартные разделы 'add'=> [ // В меню Контент добавлена ссылка на приложение Видео 'content' => [ 'videogallery' ], // В меню Справочники добавлена ссылка на пользовательскую сущность Субрегионы 'references' => [ 'subregion' ] ], // Создание новых секций в боковом меню 'newsections' => [ // Создание секции exports 'exports' => [ 'title' => 'Выгрузки', // Название секции 'icon' => 'fa-download', // Иконка секции (при наличии) 'childs' => ['prianparser', 'kyeroparser'] // Перечень системных имен приложений или пользовательских сущностей для включения в секцию ], // Создание секции dicts 'dicts' => [ 'title' => 'Дополнительно', // Название секции 'icon' => '', // Иконка секции (при наличии) 'childs' => ['currency', 'videogallery', 'gallery'] // Перечень системных имен приложений или пользовательских сущностей для включения в секцию ] ], 'knowlegebase' => false // Выключение блока Базы знаний из верхнего меню ]; </pre> Включение приложений в существующие или новосозданные секции предваряется проверкой прав доступа. Стандартные настройки админ-панели <pre> $settings = [ 'sections' => [ 'data' => true, // Data link 'structure' => true, // Structure/topics link 'client' => true, // App Client link 'references' => true, // Refereces block 'references.country' => true, // Countries dictionary link 'references.region' => true, // Regions dictionary link 'references.city' => true, // Cities dictionary link 'references.district' => true, // City districts dictionary link 'references.metro' => true, // Metro dictionary link 'references.street' => true, // Street dictionary link 'components' => true, // Components block 'content' => true, // Content block 'content.news' => true, // App News link 'content.page' => true, // App Page link 'content.menu' => true, // App Menu link 'config' => true, // App Config link 'sitebill' => true, // App Update link 'user' => true, // App User link 'table' => true, // App Table link 'recentapps' => true, // Recent apps list block 'mobilephoto' => true, // Mobile photo app link 'access' => true // Access block (Groups, Permissions etc) ], 'knowlegebase' => true, // Knowlege base block on top menu (FAQ, Sitebill site etc) 'gotosite' => true, // Go to frontend link on top menu 'admin3' => true // Go to app Admin3 on top menu ]; </pre> 59325fb86295797265b85c57a98a6e97755c499e